What properties differentiate a child GameObject from a normal one?

I just started learning Unity and I tried to make something like “view models” as seem in the Source engine, to do so I added a model to my camera GameObject, making the model a child of the camera, after that I’ve noticed that whenever I moved the camera the model moved with it.

Can someone explain for me how this child relationship between GameObjects differs from a the separated ones? If you don’t bother, could you please tell me if there is something about this subject on the Unity Manual?

Thanks in advance.

Hiya!

Ok, lets see my friend.

A GameObject has a Transform component. What this transform component does is to store the spatial coordinates. That’s all: position, rotation, scale.

The position of a child it is related to the parent, yes. If the Transform of the parent changes so the child changes with it.

Example:

GameObject Parent : Monster → Child —> Axe

If i move Monster around, Axe will move too because it is a child of Monster.

Now, if i put Axe in a separate GameObject in the hierachy (that is the panel on the left in your Unity Editor) and i move Monster around, Axe will keep still.

So it is, nothing more complex than that.