The problem is that unity by default allows objects to be shared between scenes. That makes a life of 3d animator like me full of pain.
Atm im working on many cutscenes and for each one i have to manually copy/duplicate/remane/keep track of every objects that is separated because unity has no native support for auto-dupe.
All i want is a simple interface that allows me to click - CREATE A COPY, and unity will automatically copy each child/dependency(especially materials). Or alternatively if i WANT it will create and instance .
Every time i mess up some texture i have to spend a lot of time finding not only the mat but also restoring settings from history, because the scenes share that mat.
PLEASE
I hate this so much, i just messed up another thing because unity allows you to modify animation tracks shared by object in different scenes, do you have any sort of compassion to people?
I hate this so much
Also every time i hate to replace animation track on an object i have to remove component, and then create track again, because the AMOUNTS OF BUGS is insane.
Oh at it uses MECANIM animator by default for ANY object… Are you for real? So every time i want to replace any animation on that object i have to make SEPARATE copy of that animator controller???
WHAT WERE YOU THINKING
I hate this so much, so much troble from bad design
Also you should read up and understand the process, the problems you are describing are because you aren’t understanding the workflow, you are working against it.
I think what pointcache is saying is that he (or she) wants the ability to duplicate an object and for it to create deep copies of everything not just gameobjects. For example duplicate an object then edit its material and effect only the material for this new object.
Prefabs wont solve this.
That said I think there’s a pretty good reason for this behaviour… if you use a “deep copy” approach you will end up with many unnecessary assets (for example materials), which could easily kill performance and bloat project size. I’m guessing Unity forces you to make a new material/sound/etc manually so that you are aware of the cost and don’t use a “deep copy” as your default.
You (or a coder if you aren’t one) could easily write an editor extension to do this… maybe maintaining a bank of material references and automatically de-duping once you are ready to build. But even with the de-dupe capability you would need to be very mindful of what you are editing and how many materials/textures/sounds/animations/etc you are creating.
JohnnyA you got what im talking about but miss why i need this. I work on scene for cutscenes inside unity, so i have a lot of separate scenes containing a lot of small “shots” with same object involved with different animations/properties, etc.
I know it’s the thing that RARELY is needed by most of unity users cuz most are coders, but as soon as you start working with such heavy
production, youll get struck by how inconvenient the native workflow is for such things.
And no i cant animate same objects on the same track for same shots, it will ether become an unsustainable mess of tracks and notes,
or making mistakes will become so easy i will spend more time fixing things than actually doing anything.
As you need unique settings for about every cut scene, did you consider to have one folder per cut scene, containing all the meshes, materials, textures, … you need? It is a little extreme, but it works.
There are a lot of possibilities in Unity to get rid of that kind of issues. It usually involves scripting. But more important is that this should always be considered before the actual work starts. That’s not a short coming of Unity.
Generally you design workflow work for the common cases, most people consider Unity’s workflow to be pretty good, so I wouldn’t call it a bad design, if anything its probably the biggest selling point after multi-platform.
Unity certainly isn’t perfect, but as you yourself say your use case is rare. Most fortunately the tools to extend the editor are at hand for these kind of cases. As mentioned a deep copy extension is not a difficult task, if you can’t write it yourself go hire someone to do it or maybe check out the asset store for either a deep copy/clone tool or maybe see if any of the cutscene assets match your needs.
I see now. I initially read it as copying into other scenes and having to update each one separately.
Indeed, duping an object and having it dupe the mats would be the inappropriate behavior. Typically 3d modeling apps don’t work that way by default either. Writing an editor extension would be one way. Or just organize by folders and dupe a folder with all the contents (though you would still have to re-apply on the dupe).
Manually shouldn’t a huge problem though. If you have many mats on an object and you are changing the mats on many dupes of the object, your pipeline/design is probably sub-optimal and could lead to performance issues. With animation controllers, they are unique and small, that is the point, an animation controller is for one set of animations. So, yes, if you want different animations, you need different controllers. Alternately, you can create a single controller, and put everything in it, and the character only uses the ones it needs. But if each one has a different idle for example, then yea, you would obviously need separate controllers. Just right+click and Duplicate then modify.
OP, what you are describing as bugs things that are the common and expected workflow. Reading the docs/tutorials will help you understand how it works instead of getting upset that it doesn’t work based on expectations.
Considered, too much content, doesnt worth time investment.
Im ok with what i do now because i dont have the choise but this thread is more of a cry for attention from developers.
Maybe if i post my struggle they consider adding some additional functionality for those cases.
It would be cool if i could create temporal “ghost copy” that uses original prefab/objects/all dependencies, but overrides ALL of them from different set of meta files(or how it is done). So you can not only have prefab that still DEPENDS on actual files, but also a ghost prefab that DOESNOT depend.
Actually, it isn’t inconvenient at all. I work with a huge pipeline/productions and it isn’t a problem at all. The thing is you need to plan what you are doing. If you are indeed doing something of scale, multiple unique objects is going to be a challenge in any case.
They did consider it, that is where editor scripting comes into play. You could create a tool that does just that, you could even get creative and have it use naming conventions to automatically parse mats based on name and hook/apply the new mats automagically.