Thoughts on loading screen?

Hi! I am hoping to sell this loading screen to people but I want some feedback on it before I start selling it. It’s got some work needed ( Like the music that stops midway, and I need to find out how to center everything in-game ) but besides that I just wanted some feedback on things to add or fix possibly?

updated x4

2 Likes

What I do to get UI components in the centre is to unclip all the sidebars and work from there on.

2 Likes

Is that a discord link? U are not allowed to add one in game because <13 can see it too.

Yeah I just removed it when I rewatched the video, just about to edit the video now.

Does this loading screen incorporate a method for loading assets? Or is it just a fancy replacement to the default loading screen?

It’s just a fancy replacement, doesn’t really do anything tbh

You should use this so you don’t have that default one playing before yours.

1 Like

You may have problems with the music since it’s copyright material and you should also remove the default loading screen.

I just removed the default loading screen, as for the copyright material, I am planning on removing it once I find some uncopyrighted material that actually fits the loading screen and isnt a bunch of meme music…

2 Likes

I noticed that you can still see the chat gui and default player list. In addition to removing the default load screen, I would also suggest disabling these until the load screen has finished. You can disable the core gui by using this nifty piece of code:

game.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All, false)

You can enable it once your game has loaded like so:

game.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All, true)

2 Likes

You can also use SetTopbarTransparency function to make the topbar opaque, which in my opinion will make it look better.
It’s simple as

PlayerGui:SetTopbarTransparency(0)
1 Like

The loading screen seems very slow and doesnt seem like its needed since:

You should probs only use one if you need to preload assets or let assets load in. Using one without any needs seems unnecessary.

2 Likes

I notice this a lot in games where the developers will add in a loading screen for no real reason except to look fancy. Please, please, please: If you do not need a loading screen and are not actually loading anything, do not add one! However, I would much rather look at a loading screen for 15 seconds than watch parts and UI one by one pop into existence.

5 Likes

The reason I had it just for fanciness is because I am not sure how to make it actually load stuff in tbh. :confused:

As far as design goes, move the quote to the bottom of the screen, it looks too important being right in the middle and will confuse people. Either make the topbar solid, or remove it entirely and stretch the UI up to fill the space.

In terms of functionality, use it to preload assets, but don’t preload too many and give the user the option to skip. When people click play, they want to play right away. Loading screens shouldn’t exist just to be flashy.

1 Like

The loading screen looks nice. I do recommend like the others remove the song because it is copyright. I also recommend turning IgnoreGuiInset to true as it removes the white space you can see on the top. It turns something like this:


Into this:

Also, I recommend once the loading screen is loaded, instead of Tweening the model to the top (let’s say 0), tween it more than that (something like -100) because you can still see the loading screen.

I made a loading screen before. My script was:

-- Variables --

local ContentProvider = game:GetService("ContentProvider")
local Workspace = game:GetService("Workspace")
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
local LoadingGui = script:WaitForChild("Loading Screen"):Clone()

LoadingGui.Parent = PlayerGui
 
local Total = LoadingGui.Total
local Bar = Total.Bar
local Status = LoadingGui.Status
local Title = LoadingGui.Title
local Description = LoadingGui.Description
 
-- Asset Table --

local Assets = {}

-- Inserting Assets --

for i, v in pairs(Workspace:GetChildren()) do
	local Number = #Assets + 1
	Assets[Number] = v
end

-- Reading Assets --

for i = 1, #Assets, 1 do
	local Asset = Assets[i]
	ContentProvider:PreloadAsync({Asset})
	local Progress = i / #Assets
	Bar:TweenSize(UDim2.new(Progress, 0, 1, 0), "Out", "Quad", 0.1)
end

-- Finish --

LoadingGui:Destroy()
script:Destroy()

If you wanted more directories, you could add a script to add more directories to the Assets table. Other than that, that should be the script for it.

4 Likes

Quick Analysis on Mobile


I like the qoute on the bottom of the loading x%. I think this very funny but it would be nice if the qoute would change every 7 seconds. Also, does the loading screen change depending if the player is loaded? If not I suggest doing so.

1 Like

This may help you than if you want to preload assets:

1 Like

Maybe you can also add a loading bar? Apart from that, it looks really neat and clean, and I love the quote you put below.

1 Like

Super clean! From a frontend design standpoint, I’d love to see customization options that are easy to explain to anyone implementing this into their game. Not sure what your code looks like, though, so it might be easier than I think.

1 Like