How do I make a GUI come after another GUI?

Heya DevForum Community!

Recently I was having a bit of trouble with scripting a GUI.

So far I have fully scripted a loading screen and a team change GUI. However, I am unable how to find out how to make the team change GUI come after the loading screen.

What I mean:
Basically, I want a loading screen to come and go. During this period, the team change GUI should not come up. After the loading screen goes away, then the GUI for team change should come. How should I do this?


If they’re different Guis then just flip the Enabled property as you see fit. Like, you could have the team change Gui’s Enabled as false and then set it to true when the loading Gui is finished. If they’re in different Frames then Visible. These are things you can search and test for.

They are in different frames.

Is there a certain way I can code:

When “LoadingFrame” disappears, “ShowTeamGUI”?

To be honest i would just change the layout order.


Just flip Enabled/Visible on your respective Gui elements when the loading Gui finishes? It’s just setting properties, that’s all. You don’t need a flow that relies on one hiding for another to show. You should predictably know when your loading Gui finishes executing which then you can slip in two lines to toggle the visibility of each Gui.

If you are referring to the UI animation some games use, they are usually hiding the UI off screen and using TweenService to make it come up and then tweening it offscreen again to make it go away when the player selects the team they want. Tweening will move the UI element smoothly from it’s current position to the target position set.

Thanks! I will be testing later today.

When your loading is done, it becomes not visible right? Exactly. You can just hook a function with your other guis becoming visible when loading screen’s gui.Visible = true.
You might use object:GetPropertyChangedSignal("property") to implement that.