Yes, and that’s one point where it gets confusing. It is important to remember that scripts run depending on where they are located. Theoretically, a LocalScript might replicate and then begin running immediately. In most cases however, any container where they could replicate is a container where they can’t run (StarterGui, StarterPlayerScripts, almost everything, really). And, for any container where they can run (PlayerGui, etc), scripts are copied from the respective Starter container (StarterGui, etc) only after game.Loaded is set to true.
This is why I was particular about how step 7 was worded. It doesn’t say right out that LocalScripts become enabled. Rather, it is the Starter containers that depend on game.Loaded.
If you wanted, you could use a ReplicatedFirst script (which runs early) to insert another script into a script container, which would cause it to run, even if the game hasn’t finished loading. The container itself doesn’t care about game.Loaded, so the script runs unconditionally. Starter containers, which copy contained objects to their respective script containers do care about game.Loaded.
- Script containers run scripts unconditionally.
- Script containers include PlayerGui, PlayerScripts, Backpack, and the player’s character.
- Each script container is created on the fly, so they and their contents may or may not be included in the DataModel snapshot.
- Starter containers copy objects to their respective script containers.
- Starter containers include StarterGui, StarterPlayerScripts, StarterGear, and StarterCharacterScripts.
- Starter containers will start copying only after game.Loaded is true.
- LocalScripts are not inherently protected by game.Loaded.
- LocalScripts managed by Starter containers are protected by game.Loaded.
- LocalScripts managed by other means (e.g. server script, ReplicatedFirst script) may not be protected by game.Loaded.
If the LocalScript is managed by a Starter container, and the BasePlate always exists, then WaitForChild does not need to be used.
All my information is based off of observing how the client behaves. Take that as you will.
How do I sign up?