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?
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…
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:
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.
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.
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:
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.
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.
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.