As a Roblox developer, it is currently too hard to have UI in a game with character loading disabled, because the contents of StarterGui
are restricted to loading when a character spawns.
If Roblox is able to address this issue, it would improve my development experience because it would allow me to more easily create UI without workarounds.
(Take the stuff below with a grain of salt, primarily just focus on the stuff above since this stuff is more separate from the problem and feature request)
The definite biggest use case is for menus or loadout screens (e.g. clicking a Play button to play, or something like Phantom Forces’ or Arsenals’ loadouts)
Common workarounds and their problems
-
An uncommon but somewhat proper workaround is to insert UI by a script, but this means reimplementing Roblox features like
ResetOnSpawn
yourself, which is problematic even though it’s low difficulty because it offers more opportunity to race conditions and bugs, and makes it more difficult to take advantage of Roblox features that are added. -
An older and still very common workaround is to allow the character to spawn, but first place them in a loading zone or box, which is problematic because it requires making sure it can’t interfere with gameplay or spawning (or giving cheaters tinder for their fire)
- I’ve chosen to strikethrough the below because it’s misleading – Examples of games which use spawn boxes are not examples of games which use this as their workaround, and these aren’t the types of games or projects this feature request pertains to.
Side-note: There are an enormous number of games both modern and old which do (or did) this for their menus. Arsenal and Phantom forces are both among them afaik, as well as a lot of FPS games like BIG Paintball, and both have experienced their fair share of glitches and exploits around it
'Ideal' case (not really meant to be a proposal)
This would ideally be solved with something which isn’t too complicated or hidden, and adds more fine-tuned control to when UI loads from StarterGui.
This could be a good opportunity to allow for developers to have UI which loads the first possible instant, just like the old and deprecated teleport UI mechanics which were very good at making a seamless transition (no default skybox popping up with slow internet)