So CS2 can not laod objects unless they are on a layer that has been visited right?
You see, now with that we got to the Root of the Problem, this is the one that it didn't let you understand what I was explaining to you as you had the wrong understanding somehow so it was causing miscommunication and I knew from your first Replay that it will be very difficult to make you understand this concept that's why I decide to let someone else see if they can make you understand better without making you more frustrating. Luckily fredriksthlm came to rescue and made the Answer more simple to understand probably I talk to much :)
Thanks, fredriksthlm
To add more to what fredriksthlm explained:
To make it more obvious here is the visual representation maybe will help you to see the things more clear.
I need a Game that has Menu and Two Levels:
-For Menu: I just need a Button
-For Level 1: I just need the Enemy1
-For Level 2: I just need the Enemy2
1-Place the objects that the current Layout is gone be using during that Level
https://www.dropbox.com/s/rnq1038jy49ldti/1-Layout%20By%20Layout.capx?dl=0
or
2-You can Put all the Objects on a different Layout you can Name it "Bank Objects" then you will be able to create the objects on RunTime, this is for developers that like to keep the Levels or layouts clean just with the Decorations
https://www.dropbox.com/s/y1db18k3cp4oags/2-Layout%20By%20Layout.capx?dl=0
As you can see you can start from any Layout and travel to any other layout without any problems and this is without Ever visiting any Layout that holds all the objects that the project use. Also, you can save and you can load without any problem.
Things you got Wrong:
1-First you need to understand the concept of why c2 tells you that any object that you gonna use it must exist inside the project before you can refer to it or create it.
This is by design to avoid Exactly this Problem:
here's an example if you try to go to "Level 2" you gonna get an Error Log because on the start of the Layout we have an Event that needs to create the "BadGuy" object but the BadGuy is nowhere in the project, so this is not about Visiting a "Layer" or "Layout" its about having the Objects inside the Project in some Layout.
https://www.dropbox.com/s/ehv9clasccno9uw/3-Layout%20By%20Layout.capx?dl=0
2-There is the second thing you need to understand that comes together in a Pack, C2 loads 1 Layout at the Time when you finish one it loads the next one so basically, its Layout by layout and this is to win Performance and to avoid doing the things that you where doing putting all the objects in one Layout and load that layout First on the start of the Game because if you think you load all the objects but you need to use just maybe 10% so you would have wasted 90% extra Memory Plus slows Downs loading your Game etc.... That's why it was designed the Layout by layout to avoid this, where you can just go to "Menu Layout" and load just the Objects that you need Example (Buttons, Txt, Icons) etc....and the other Levels the same just Load the things you need by request.
I hope this clears up your doubts