Comment by doomlaser
8 years ago
Unlike any reasonable nested entity tree system, you cannot have a prefab that contains other prefabs in its hierarchy, or they lose all concept of being independent prefabs themselves.
Say you design a car prefab and a wheel prefab. If you put 4 wheel prefabs in your car prefab, and then update the wheel prefab, it will not be reflected in the wheels to your car, because you can not have nested prefabs.
Neither will any other set of prefabs — say, the tires on your wheels, or the seats in your car — without going to ludicrous workarounds.
Think about it like a programming language. Imagine if you had a class, and you wanted to include an object of another class in it, but instead of including a reference to that object, your IDE just pasted the entire contents of its class implementation verbabitm into your class, once, and left it like that.
That is how they designed it and that is how it has been, to the frustration of all, for over 13 years. Everyone has to design around this bizarre limitation that isn't present in any other (even simple) game engine. They've promised to fix this before, but haven't.
Now do you understand?
Unity is filled with weird kludges like this, that aren't apparent when you are just starting, in basic systems and critical corners, which is why so many are frustrated with it, despite its strengths in platform ubiquity and market adoption.
FWIW, they've announced nested prefab support in Unity 2018.3 (https://blogs.unity3d.com/2018/03/20/unity-unveils-2018-road...). It's mind-boggling that it has taken so many years to implement such a simple thing.
They've also announced it before at previous keynotes, only to abandon it. They had me convinced enough to tweet this, in 2014.
> Unity's only achilles in this is the stupid nested prefabs handicap, but hopefully we won't have to live with that much longer
https://twitter.com/Doomlaser/status/550129905028300800
Fool me once. Let's see what they ship. :)
>announced
Soon™.
> It's mind-boggling that it has taken so many years to implement such a simple thing.
Something "looking" simple from a distance and actually being simple when you code it are two different things. Also its not like that was the only feature they had in the backlog to work on.
Its mind-boggling that people don't realize how much work actually goes in writing a game engine.
Yeah, that makes sense.
I remember when I first learned I couldn't nest prefabs, and I couldn't believe it. Here's hoping they actually fix it.
Besides that, I think the Unity prefab system is really nice, and Unity in general seems very nice.
But I may lack context! I'm coming up on two years using it, and it's my first time working with a game engine (or in games).
Still, it seems much nicer than interface builder or qt designer.