#46498
Oleksandr Kramer
Moderator
Posts: 267
Threads: 1406
Joined: Aug 2009

    Hey,

    Thanks for the clarification – now I understand exactly what you mean!

    You’re right, the current behaviour works differently: when you drag a material onto an object, PM assigns it to the entire object (replacing the whole Multi/Sub-Object material).

    What you’re proposing is more advanced: PM would detect which Material ID you’re hovering over and automatically replace only that specific slot in the Multi/Sub-Object material, leaving other slots untouched.

    While I can see how this could speed up certain workflows, I have some concerns about implementing it as default behaviour:

    1. Ambiguous behaviour
    The same drag-and-drop gesture would produce different results depending on precisely where you drop the material on the object. This could make the interface less predictable – sometimes it replaces the whole material, sometimes just one slot.

    2. Existing workflow disruption
    Currently, drag-and-drop onto an object has clear, predictable behaviour. Changing this could confuse existing users who rely on the current functionality.

    3. Alternative solution already exists
    Method 3 (dragging directly onto a slot in the Material Editor) does exactly what you need with complete clarity – you can see exactly which slot you’re replacing, and there’s no ambiguity.

    However, here’s the good news:

    You can implement this exact workflow yourself using Project Manager’s MaxScript API!

    The API allows you to get the currently selected material from PM.
    Check out the API documentation and examples here: https://3d-kstudio.com/faq-cat/maxscript-api/

    The page includes an example of how to get the selected material from PM, which is exactly what you’d need for this workflow.

    Once you’ve written your script, you can add it directly to PM’s toolbar for quick access:

    This way, you get precisely the behaviour you want without affecting other users’ workflows, and you have complete control over how it works.

    If you run into any issues while implementing it, feel free to reach out!

    Cheers