I’ve been using WaitForChild for the longest time, which starts to get annoying after making walls of variables wait for every UI object. However, I’ve made a recent discovery that confuses me further on how to know when UI objects are loaded or done loading…
When I loop through every UI object the instant the game starts, and say for example, print their GetFullName, nothing errors; they’re all immediately “loaded” and none return as nil.
So… do I really need to use WaitForChild at all to begin with? Or is there a better way to detect when it’s done loading?
To clarify further, I just care if I can reference and edit the GuiObject without it being returned as nil. Visually loading an image doesn’t matter as much to me as that can be taken care of with asset loading.
As for everything else, I thought each UI object needed to load individually, taking a very short amount of time but still enough to return as nil if referenced too fast.
I guess I was wrong this whole time and all that needs to be waited for is the ScreenGui (correct me if this is wrong) itself to be cloned into the PlayerGui from StarterGui when the character loads in.