[DEPRECATED] BetterLoadingScreen

I want to make a custom loading screen, but I don’t know how!

Don’t fret! I have provided you with a premade loading screen that even supports TopbarPlus!

ContentService Documentation

Welcome! You’re probably here and going “What the heck is ContentService?” This asset has 2 names, which are:

  • ContentService
  • BetterLoadingScreen

ContentService provides a fast, intuitive way to implement a functional loading screen that doesn’t just use wait(). It uses ContentProvider to efficiently load your experience. It even supports loading TopbarPlus icons.

Automatic Installation

If you’d like to do an automatic installation, just get the model and put it in Workspace. The !README will put everything in the right place for you.


TopbarPlus users:

Go into ContentService and go to line 46. You will be instructed on how to pair this with your installed TopbarPlus.

Everything else:

  1. To start off, let’s go into fade. It should be a LocalScript:
    Next, go to line 30 and change "WhateverYouWantHere" to Presents, Present, or whatever floats your boat.

  2. Go to authors which should be the parent of fade. You may change this to your game studio name, your name, or whatever floats your boat.

  3. Go into LoadingBar and change version to whatever your game version is.

For manual installation:

  • Drop ContentService into ReplicatedFirst. Delete Custom_LoadingScreen_v1.


ContentService can be customised to fit your liking. You may edit the font of each TextLabel, change the background colour, or even add gradients. You’re free to add or remove what you want, or you can keep the default UI.

Having trouble? Don’t hesitate to reply or shoot me a DM! I will be happy to help.

Want to try it out? Click here!


you also should provide a screen shot of the sample without people need to test the experience place.


Looks nice…
If if it supports top bar, why not have top bar in the demo… and have the demo EDITable…

Also what about a splash screen image at the start…


Also when the first part of the words are displaying, can that time be adjusted to stay longer?

And while it is doing the words and a splash screen, why not kick off the loading of the assets in the background, so that the player is looking at stuff while the assets are being load in the background…

Or maybe kick off the content loading at the bottom, while at the top you are entertained with the words and a splash screen, or maybe kick it up and a bunch of splash screens that fade into each other… schwing!

Looks promising, good job!


The loading doesn’t start until the splash screen is finished but i like your idea .

1 Like

Ya, that way the loading is kicking off, while your players are entertained with the splash screens.

If you rem, send me a msg when you do updates and I will be happy to test them out.



I will consider a v2 which will integrate the splash screen and loading bar into one and make things generally easier.

1 Like

Here is a good replacement using string interpolation (discourse currently doesn’t have string format for backticks)

-- Bad Usage
("string %1d here"):sub(workspace)
"string " ..tostring(workspace).. " here"

-- Good Usage
`string {workspace} here`

and replace wait() with task.wait() as wait() is semi-deprecated and task.wait() is more accurate than wait()

1 Like

whats the first one for? i dont have string.sub or anything in my script

1 Like

Is there a way to just have the bar and no logos/game names or anything?


Yes, you can remove it from the script and from the UI


Although you can just make it invisible


the first one is for better string usage :slight_smile:

1 Like

Hi, I’m pretty inexperienced in scripting or anything really akin, therefore my apologies if something I state below is pretty… well… not comprehensible.
Whenever I play a game with this, the text after the first fade just states “Game”, is there any way to change this?

My apologies if this was a rhetorical question or was already answered.

1 Like

Yes, there is, and it will be fixed when the v2 of this comes out. No ETA on this.


Thanks for the swift reply, also I appreciate you making this public.
Great work!

Please keep it up!



One of my fans tried the system out but couldn’t change the ‘YourNameOrStudiohere’ text. Where is the textlabel for that? Even I have searched the entire system and could not find it.


It’s the TextLabel named authors:


Embarassing I missed that, lol. Thanks!


I’m happy to announce that ContentService v2 is now in work!

ContentService v2 will be not just a loading screen, but a full suite of modular menus and screens that will be fully customisable and intuitive to work with. I’ll make it super easy for non-scripters, and it may even have its own themes. I’ll see what I can do with this, but I’m excited for this next release.

When is it going to come out?

I’m not sure as I’m focusing on other projects currently, but I plan for it to be out by the end of June.

If you have suggestions, feel free to reach out to me via DMs!