Should I use an empty gameobject as container / root for each entity?


This is probably a total noob question, but I just can’t seem to find the answer to it:
When I crate a new entity for my game, say the player or an enemy, should I generally begin with an empty gameObject and attach sprite and scripts to it, or should I just drag the sprite itself into the scene, and use that as the root object of the entity?

I’ve seen both in tutorials, so I’m unsure if there is a clear best practice for it.


Hello there.

It doesnt matter.

When you create directly a new “3D Object” its 100% the same as create an empty object (wich always will have a transform) and adding manually a Mesh renderer, a Mesh filter and a collider.

I mean, all objects in scene are empty objects + other components.

Was this the answer you were looking for?

Im still pretty new at unity but In my experience, at least in 3d games, adding things to default 1,1,1 empties helps keep scales in check when importing different things from blender (scale is a challenge for me at times haha) and it also lets you “attach” stuff without unpacking the default import if that even matters?