Hi, I'm creating my first 3D game just to get into Unity. Game consists of two playable scenes. Simply you walk throught the first scene, pick some items, use them in different places and in second scene. My problem is that I don't know how to properly manage those collectable items. I mean, every item derives from a base class (CollectableItem), and every item when picked is added to a list (player inventory). But after picking some items and then loading other scene, my inventory seems to be empty (list has only null items). I know that there is something like DontDestroyObjectOnLoad, but this only works for root objects in hierarchy. My collectable items aren't root objects. They are rather groupped in hierarchy like this: house room1 item1 room2 item2 item3 I have only one idea how to solve this problem, but I don't know if it's really proper. Create empty root game object and call it "Items". It will be parent for every item in game (in all scenes). Then create other empty root game object and call it "Inventory". Now every item that is picked by a player changes its parent to Inventory. "Inventory" game object and "Items" game object both call DontDestroyObjectOnLoad, which will prevent also all the items not to be deleted when a scene loads. But is it good, proper solution?