How to Create a Loading Screen in Roblox

Тәжірибелік нұсқаулар және стиль

50% OFF COUPON WITH "DOUBLEBYTE" (ends in 3 days):
linktr.ee/ByteBlox
To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/ByteBlox
You’ll also get 20% off an annual premium subscription!
discord: / discord
wondered how to make a main menu in roblox studio? or how to create a shop which has working GUI? ive made lots of 2024 roblox scripting tutorials about all the different bits of roblox to give you some up-to-date information about all of its properties and events.
my goal is to simply give some insight on how to use the various features and instances roblox studio, and show you some fun stuff you can do with them. thanks for checking out this roblox scripting tutorial :)

Пікірлер: 224

  • @byteblox100
    @byteblox1007 ай бұрын

    Get all of my knowledge in one package:
linktr.ee/ByteBlox

  • @martinjelolorenzo8275

    @martinjelolorenzo8275

    7 ай бұрын

    "give me your email so i can send you stuff" Something a Indian scammer would say.

  • @fardmonkegaming

    @fardmonkegaming

    7 ай бұрын

    don't trust you enough you're gonna send me uncensored gore

  • @QUBIQUBED

    @QUBIQUBED

    7 ай бұрын

    @@martinjelolorenzo8275 bro is not funny

  • @QUBIQUBED

    @QUBIQUBED

    7 ай бұрын

    Whydo you alwyays use "waitforchild" wouldn't you get like, a billion "infinite yield" errors?

  • @realisticcorporation9756

    @realisticcorporation9756

    7 ай бұрын

    ​@@martinjelolorenzo8275Not funny + if you don't know scripting get out of here kid.

  • @geriangoofy
    @geriangoofy7 ай бұрын

    i dont even know why im watching this im not wven making a game right now

  • @EpicPico0625

    @EpicPico0625

    7 ай бұрын

    *KNOWLEDGE*

  • @KittenfanVR

    @KittenfanVR

    7 ай бұрын

    Same 💀

  • @iamlosingmysanityrapidly

    @iamlosingmysanityrapidly

    7 ай бұрын

    Wait people watch this when making a game? They don't just watch it occasionally??

  • @fabiankrajewski3147

    @fabiankrajewski3147

    7 ай бұрын

    Even*

  • @geriangoofy

    @geriangoofy

    7 ай бұрын

    @@fabiankrajewski3147 you really didnt have to correct me i already knew i messed up

  • @boblox_studio_dev
    @boblox_studio_dev7 ай бұрын

    If anyone is wanting to make this a loading bar instead of a counter do this: 1. Make a loading bar container frame. 2. Insert a frame inside the container to be the actual bar. 3. Make the bar color whatever you want. 4. Set position = UDim2.new(0, 0, 0, 0) 5. Set Size = UDim2.new(0, 0, 1, 0) 6. After the preload async inside the for loop, set the size of the bar to UDim2.new(i / maxAssets, 0, 1, 0)

  • @saniks3174

    @saniks3174

    7 ай бұрын

    This makes sense wow

  • @Ammiad

    @Ammiad

    5 ай бұрын

    thanks! took me a bit to understand what this comment meant but it works! looks pretty okay too for anyone wondering: this is what i wrote for this: local loadBar = ui:WaitForChild("Frame"):WaitForChild("Frame"):WaitForChild("LoadingBar") loadBar.Position = UDim2.new(0,0,0,0) loadBar.Size = UDim2.new(0,0,1,0) (inside the for loop:) loadBar.Size = UDim2.new(i/maxAssets,0,1,0)

  • @DaJJanitor

    @DaJJanitor

    6 күн бұрын

    and you can lerp it to make it feel smooth

  • @boblox_studio_dev

    @boblox_studio_dev

    6 күн бұрын

    @@DaJJanitor tweenservice is more efficient than lerp

  • @DaJJanitor

    @DaJJanitor

    5 күн бұрын

    @@boblox_studio_dev tweenservice also uses lerp on the backend

  • @NotTaskAgain
    @NotTaskAgain7 ай бұрын

    This is one of the first videos that actually EXPLAINS what each thing does, i.e "Putting a # in front of a table gets the number of items/assets in that table." I never realized what that was used for until now.

  • @bbnmm8720

    @bbnmm8720

    7 ай бұрын

    you could just google up

  • @Omega-mr1jg

    @Omega-mr1jg

    7 ай бұрын

    Thats why you experiment

  • @NotTaskAgain

    @NotTaskAgain

    7 ай бұрын

    @@bbnmm8720 I'm aware of that I was just giving an example of how he explains what he does

  • @VelocitySoftwareGames

    @VelocitySoftwareGames

    6 ай бұрын

    no you cant@@bbnmm8720

  • @RealJordi
    @RealJordi7 ай бұрын

    Honestly I just have to check up on your channel and there'll be something that I've been looking for, you're better than all of the talky big youtubers. Thanks!

  • @BubasGaming
    @BubasGaming7 ай бұрын

    I think that loading screens break the immersion of fast join, because on my pc, the game can load pretty fast but sometimes loading screens can make it longer than it is supposed to be.

  • @Wacky_

    @Wacky_

    7 ай бұрын

    just make a skip button that hides the ui

  • @Sadjhj
    @Sadjhj7 ай бұрын

    I do want to try a loading screen in the future for different projects. Thanks for the video.

  • @user-sk4fx2tk1x
    @user-sk4fx2tk1x7 ай бұрын

    this channel is so helpful thanks for all the tutorials

  • @RisingHuskyERLC
    @RisingHuskyERLC4 ай бұрын

    This was really helpful! I tried the game and it worked like a charm.

  • @Griffin_545
    @Griffin_5457 ай бұрын

    the way you explain code is way better then others foe some reason

  • @ahrhua2
    @ahrhua24 ай бұрын

    Thank you Byteblox! This really helped!

  • @synkka1221
    @synkka12217 ай бұрын

    This is a method that certainly works, but only for smaller games really. I've tried this method in the past with a larger game made up of around 6000 assets and loading each individual asset in the loop with content provider took FOREVER. The better way of doing a "working" loading screen is to pass the entire table of assets to the content provider's preload async function BEFORE the for loop and then just loop through each asset and add a task.wait() with a really small random wait time. I say "working" in quotes because it does load the assets but the actual progress bar is faked. It is a really efficient method that loads everything even in large games very quickly and the whole thing put together should only take a few seconds. Good video tho!

  • @AntiNuke_

    @AntiNuke_

    6 ай бұрын

    I'm sorry, but I'm reading but not comprehending that. Can you elaborate on how to make a better system?

  • @aoqia

    @aoqia

    6 ай бұрын

    @@AntiNuke_ In the video, the creator passes to ContentProvider 1 asset ID per iteration of the loop. Doing this repetitively for lots of assets is SLOW. Since PreloadAsync takes in a table of asset IDs, you can just feed ContentProvider all the assets at once, and it will load them miles faster since it doesn't have to wait for each iteration of the for loop. That is just what I understand.

  • @synkka1221

    @synkka1221

    6 ай бұрын

    @@AntiNuke_ i meant exactly what @aoqia said, he explained it better. and when I say to "add a task.wait() with a random wait time", that should be done in the loop to simply create a natural looking progress bar. What you would do is take the content provider line and place it before the loop and put something like task.wait(math.random(1, 20)/100) on the line where the content provider async originally was

  • @marcosbombi

    @marcosbombi

    2 ай бұрын

    Can you explain it in simpler terms?

  • @athar_adv

    @athar_adv

    20 күн бұрын

    ​@@marcosbombiInstead of feeding it 1 piece of data at a time you feed it all of the data in your game at once which is wayy faster

  • @saada5369
    @saada53695 ай бұрын

    Thanks this actually worked without me having to know how to script, it works but I have 24900 parts so I’ll have to fix that too

  • @Budloks
    @Budloks7 ай бұрын

    super usefull! but you should also make a tutorial how to make a progress bars becouse progress bars = cool

  • @MeatMake
    @MeatMake7 ай бұрын

    Also, to circumvent the problem in the for loop 11:35, you can just make it do a task.wait() every 'x' amount of iterations to speed it up

  • @GariPlayz

    @GariPlayz

    7 ай бұрын

    all that would do is double the speed it iterates through the table, just remove it since preloadasync yields either way and its just a nuisance for players to wait for so long. this is no "circumventing" a problem

  • @Reditect
    @Reditect2 ай бұрын

    As per Roblox documentation, a big part of games on Roblox is being able to get into the fun fast. That means a fast loading screen. When I had a loading screen in my game, I saw retention drop and saw people IRL leave the game cause it took too long to load. It took about 4 seconds to load. I'll try this for sure, but I'm wondering if I can have a balance of loading in things and getting the player into fun quick. I can assure the player by having a custom loading screen, but that still didn't help when I tested things with play testers.

  • @RiskyVR8
    @RiskyVR8Ай бұрын

    Thanks man that really helped!

  • @hlflifeenjoyer6176
    @hlflifeenjoyer61767 ай бұрын

    finally i was looking for this

  • @SuperJ-qb4wv
    @SuperJ-qb4wv2 ай бұрын

    This is so cool. Could make the transition ease out instead of cutting abruptly?

  • @desire-zs1rr
    @desire-zs1rr4 ай бұрын

    You helped me so Much thank you..

  • @darkgaming4594
    @darkgaming4594Ай бұрын

    Thought this would have been a lot more complicated but I was wrong…. Amazing tutorial!

  • @JacobHatesGaming
    @JacobHatesGaming3 ай бұрын

    thx you just saved me lots of time

  • @Rob-wm6ef
    @Rob-wm6efАй бұрын

    worked for me! thanks!

  • @sillyboymax
    @sillyboymax6 ай бұрын

    I don’t even be making roblox games i just like listening to you yap

  • @hobis_wife
    @hobis_wife20 күн бұрын

    u cant be complaining about the fredoka font when u use it in ur thumbnails all the time bro💀 but thanks for this video. appreciate it :)

  • @thecannonman6182
    @thecannonman61827 ай бұрын

    clutch vid as always

  • @levancianyt5077
    @levancianyt5077Ай бұрын

    I'm only watching this for pleasure, but honestly I'd prefer a loading bar over an asset counter. Furthermore, a tween to exit the User Interface would be a little but big detail. I love your videos!

  • @QuementRBLX
    @QuementRBLX6 ай бұрын

    What i find pretty funny is that IM CERTAIN ill never need this but it's cool to know

  • @catalyzd
    @catalyzd14 күн бұрын

    how do I make it if the preloadasync has been loading for longer than 10 seconds, it allows the player to skip the loading?

  • @lnfinitehealth
    @lnfinitehealth7 ай бұрын

    Is there any reason to not just put the loading GUI into StarterGui and getting a reference of it after the game has loaded? Great video, covered a topic which I didn’t really understand yet . I’m just a bit curious since, I have always been using that method because it made sense to me.

  • @byteblox100

    @byteblox100

    7 ай бұрын

    That’s also possible, I just wanted it to be inside ReplicatedFirst because then the game would load it first

  • @boblox_studio_dev

    @boblox_studio_dev

    7 ай бұрын

    Another reason is because you would have to manually disable the GUI every time you want to edit something in your game, along with enabling the GUI when you want to test your game.

  • @softalmonds4842
    @softalmonds4842Ай бұрын

    Thanks bro

  • @equilibrum999
    @equilibrum9997 ай бұрын

    people who remember crosswoods: no, just dont.

  • @Plingey
    @Plingey7 ай бұрын

    you seem like no text to speech but roblox 🔥🔥🔥🔥 so swag

  • @randomhuman69420
    @randomhuman694207 ай бұрын

    bring back the challenge every video!

  • @frensyyo
    @frensyyo3 ай бұрын

    thanks

  • @urfavmeshell
    @urfavmeshell2 ай бұрын

    i did this but my code didnt work, i went thru a code checker too.. not sure why roblox isnt telling me i have any errors and i checked repasted etc. like 15 times. maybe next time i guess

  • @randombusdude
    @randombusdude3 ай бұрын

    so thats why my past GUIs have never covered the full screen and left the space at the top...

  • @rockyes3239
    @rockyes32397 ай бұрын

    I have subbed a few videos ago

  • @thebacongodfather777
    @thebacongodfather7777 ай бұрын

    finally, someone that actually agrees fredoka one is overused. it's like the comic sans of roblox in 2023/2024, theres so many better fonta like ubuntu and gotham sm.

  • @BrickShortsYT
    @BrickShortsYTАй бұрын

    how could i add music to this loading screen?

  • @StrayNoblek
    @StrayNoblek6 ай бұрын

    Unsure if its my PC loading fast. though my GUI doesn't show up

  • @EpicPico0625
    @EpicPico06257 ай бұрын

    Fun fact: you can just drag the gui into the local script and it will automatically be parented to the script. Also, you should ALWAYS use task.wait() since it will always be more accurate than wait() and overall faster

  • @byteblox100

    @byteblox100

    7 ай бұрын

    What is the actual different task.wait gives? I’ve heard many people talk about it and tried it myself, but it just seems like a regular wait function

  • @flabbergasted1485

    @flabbergasted1485

    7 ай бұрын

    task.wait runs on a 60hz polling rate, and wait is a 30hz polling rate. so its more accurate to real time.@@byteblox100

  • @bobbyboy123_

    @bobbyboy123_

    7 ай бұрын

    @@byteblox100 ive read that task.wait() is an equivalent of RunService.Heartbeat:Wait()

  • @Monumentous

    @Monumentous

    7 ай бұрын

    @@byteblox100 The task library on roblox doesn't have any throttling or lag because it uses the engine schedular. delay and spawn also appear in the task library. Everything in the task library is functionally way better, and I think roblox should deprecate wait(). Also video idea..? edit: ok wait IS deprecated

  • @synkka1221

    @synkka1221

    7 ай бұрын

    @@byteblox100 task.wait() is much faster / more performant than wait() and wait() is also deprecated

  • @UnkindStudios
    @UnkindStudios5 сағат бұрын

    i liek this video, teaches me good stuff 👍

  • @312erutaerC
    @312erutaerC3 ай бұрын

    Thanks!

  • @iamberlan
    @iamberlan6 ай бұрын

    Are you able to, I guess say, "multithread" load - like have multiple loading bars at once? I feel like preloadasync is only going to slow things down since its only loading one asset at a time.

  • @byteblox100

    @byteblox100

    6 ай бұрын

    Yeah, you can use task.spawn() to create separate multithreaded functions and then you can just use preloadasync but filter out the items that you don’t want the loading screen to count (something like “if itemToLoad:IsA(“Part”) then continue end” will make the loading screen ignore all items that are parts)

  • @raininthesedan
    @raininthesedan7 ай бұрын

    Yo! Sick vid jus gonna say tho for future vids instead of string concat i suggest interpolation! Roblox added support for it. So ui:WaitForChild('Frame'):WaitForChild('TextLabel').Text = i..'/'..maxAssets Could just be ui:WaitForChild('Frame'):WaitForChild('TextLabel').Text = `{i}/{maxAssets}` Also wait() was deprecated by task.wait()! Jus wanted to tell u! Amazing vid overall nice teaching style :)

  • @CopperCogStudio
    @CopperCogStudio7 ай бұрын

    I don't encourage people to use this tutorial for 1 big reason: When you give content provider a table with lets say a model, in order to load that model it also needs to load the children parented to the model first, then its finished loading the model The problem with this is that in this tutorial he is passing a table containing all instances inside the game. Whats the problem you may ask? Well what if your game has a model, well since the assets table got all descendants of the game, that means it also got every part inside that model too, thats exactly the issue, it will ensure the parts inside the model load even if it already ensured the model loaded, which when doing already ensures parts inside of it loaded Now the more models you put inside a model means it will take extremely long to load because its just loading over and over again the same instances a lot of times, wasting time in the process.

  • @vulna9150

    @vulna9150

    6 ай бұрын

    Can you suggest something that begginer scripters can do? They don't have much choice.

  • @alex342gwsturk8
    @alex342gwsturk87 ай бұрын

    wait() IS A SLUR

  • @Lkrupa

    @Lkrupa

    7 ай бұрын

    guess i am putting a slur in my local scripts every time

  • @alex342gwsturk8

    @alex342gwsturk8

    7 ай бұрын

    @@Lkrupa RAAH USE task.wait() INSTEAD!!!!!

  • @kamiinari.

    @kamiinari.

    6 ай бұрын

    wait() IS A MISOGYNISTIC SLUR wait() IS A MISOGYNISTIC SLUR wait() IS A MISOGYNISTIC SLUR

  • @Lkrupa

    @Lkrupa

    6 ай бұрын

    @@kamiinari. Seems like i put alotta slurs in

  • @kamiinari.

    @kamiinari.

    6 ай бұрын

    @@Lkrupa i sometimes accidentally wait() instead of task.wait() and then i get cancelled then doxxed

  • @ChildTerminator
    @ChildTerminatorАй бұрын

    The number get stuck at 1066 for some reason. I believe I followed everything correctly. Could someone help me please?

  • @Dark_wither392
    @Dark_wither3923 ай бұрын

    But I did subscribe:)

  • @moonburn87
    @moonburn877 ай бұрын

    you should use for i, assetToLoad in ipairs(assets) do spawn(function() contentProvider:PreloadAsync({assetToLoad}) UI:WaitForChild("Frame"):WaitForChild("TextLabel").Text = i.."/"..maxAssets end) end

  • @gameplayz5847

    @gameplayz5847

    7 ай бұрын

    it would just instantly finish because you are creating a new thread for each instance (which i dont think is smart to do)

  • @moonburn87

    @moonburn87

    7 ай бұрын

    @@gameplayz5847 its useful for really big games

  • @jamesjamesjamesjamesjames1

    @jamesjamesjamesjamesjames1

    7 ай бұрын

    This would just create thousands of threads and will probably crash the game. And as @gameplayz5847 said it would finish instantly.

  • @moonburn87

    @moonburn87

    7 ай бұрын

    @@jamesjamesjamesjamesjames1 It doesn't crash the game or finish instantly

  • @Paracosm_Daemon

    @Paracosm_Daemon

    7 ай бұрын

    ​@@moonburn87 this is not a smart idea at all. spawn() is deprecated, ipairs is also unneeded due to luau's __iter function. alongside this, you can literally just do ContentProvider:PreloadAsync(assets) if it's an array (which is a table with only number indices). you're also better off using the second parameter which is just a callback for when an asset is finished preloading. i'd suggest looking into the ContentProvider documentation, pretty yikes code

  • @JadenTheAnimator
    @JadenTheAnimator2 ай бұрын

    for me it only shows 0/0 - why

  • @Mem0ry-o1b
    @Mem0ry-o1b2 күн бұрын

    I wanted to make a loading screen like, hellmet, example: Software.drive(0/2) Media.videoPlayer(0/3) (player entered).exe loaded.system.exe(3/3) (updating the software)(0/10) loaded.

  • @reyanshkk684
    @reyanshkk6845 ай бұрын

    My loading screen doesn’t appear

  • @theperfecttroller
    @theperfecttroller7 ай бұрын

    i was worried he was gonna abbreviate content provider like he does tweenservice (ts) 😨

  • @NotOmegaZ3133
    @NotOmegaZ31337 ай бұрын

    Erm, it doesnt work for me. Mind helping me?

  • @tactik3
    @tactik37 ай бұрын

    doesn't work in my game, the number just freezes after a couple seconds. It seems to work in a normal baseplate though which is a bit strange

  • @aleksandarharalanov

    @aleksandarharalanov

    6 ай бұрын

    sounds like a potato on batteries for a computer issue

  • @L1s3rg1c
    @L1s3rg1c7 ай бұрын

    yo nice but can you make it so while its loading the player cant walk and has invincibility?

  • @byteblox100

    @byteblox100

    7 ай бұрын

    Yeah just fire a remoteevent to the server whenever a player finishes loading all of their assets, and you can modify their speed and give them immunity (you can do that by giving the character an Instance called something like “SpawnShield”)

  • @pexoz5040

    @pexoz5040

    6 ай бұрын

    give them a forcefield till the gui is gone and then destroy it

  • @Beaniscool
    @Beaniscool7 ай бұрын

    Fun fact, to scale gui to 1,0,1,0 you can actually just write 1,1 instead of 1,0,1,0

  • @Steelxfaze

    @Steelxfaze

    6 ай бұрын

    ty

  • @pinkaroo69420

    @pinkaroo69420

    6 ай бұрын

    nah just write 1 (its that simple)

  • @Beaniscool

    @Beaniscool

    6 ай бұрын

    @@pinkaroo69420 I was gonna say that but I almost never use the same number so I was kinda just using the 1s as placeholders for other numbers in my original comment. Does that make sense?

  • @jonesb2383
    @jonesb23835 ай бұрын

    How do I make it, so it can be activated by script? Becasue I am making smth that requires the entire map being reloaded, but I cant figure out how I can make the Loading Screen activate then

  • @martin_taavet

    @martin_taavet

    3 ай бұрын

    Put thenloading screen script into modulescript, then just call it from there when you have to

  • @saada5369
    @saada53695 ай бұрын

    Hi, um the loading screen works but when I remove parts, the max parts get higher on the game, do you know anything about that

  • @byteblox100

    @byteblox100

    5 ай бұрын

    That’s beyond me. Roblox does a lot of stuff in secret, so maybe when you remove an item it adds like 3 more for some reason

  • @ClonkBank
    @ClonkBank2 ай бұрын

    I wanted to know if anyone can help me with this... the code works perfectly but I have a main menu gui and it just goes over the loading screen. how do I make it so the main menu gui only appears when it's finished loading?

  • @aleksi789

    @aleksi789

    2 ай бұрын

    maybe change zindex or something

  • @solevxii
    @solevxii4 ай бұрын

    either my pc is too good for this loading screen or what but i dont even seen the gui at all, maybe its broken idk

  • @aleksi789

    @aleksi789

    2 ай бұрын

    your script is broken then because it should have the waits

  • @Red_Jaws
    @Red_Jaws3 ай бұрын

    Your the goat

  • @2b2useful
    @2b2useful7 ай бұрын

    Personally i wouldn't bother making loading screens, this is one of the last things you want to do. The default loading screen already works pretty good for a lot of games, especially if they are not stresming instances and the game level is static. The default loading screen has a maximum of 10 seconds to be shown to a player (tho i might be wrong on this one) and after that time you may see weird stuff, but it's usually a player's fault if the cleint haven't managed to load a game. And this video has some flaws. First, he forgot to mention the replicatedFirst's RemoveDefaultLoadingScreen function, which, you know, should have been used in the first place if you are making loading screens. Second, preloadAsync is intended to be used to load stuff such as images and sounds to prevent the sudden "appearance" of them and have them cached before controllably utilizing them. Third, to actually wait for a game to be loaded, using game:isLoaded is enough. Getting descendants of the "game" is a bad idea, since you mostly care about models under a workspace folder Fourth, it is also a bad practice to do {repeat wait() until game:IsLoaded()} in numerous ways: the wait() isn't the "fastest" yielding function if you want to be loading screens actually make sense, unnecessary usage of "if" statement, and on top of that, roblox has already provided an event without utilizing this weird loop and that is game.Loaded. Doing {if not game:IsLoaded() then game.Loaded:Wait() end} is better in every way Fifth, why would you clone a loading gui? That's [although small but] a waste of resources And to sum up i just hate it when a tiny game tells me to load something when in fact it's just a wait(x). Don't do that please. P.s. the only time i would think of using it is to wait for a server to load data from data store, especially data rrgarding ui dark/light mode or something similar. Solo devs just simply don't need custom loading screens, that doesn't make you game look cooler

  • @byteblox100

    @byteblox100

    7 ай бұрын

    A lot of these are valid points. It would just take too long to fit into the video imo, so I opted in for the simple option. I didn’t actually know you could remove the default loading screen so that’s very helpful

  • @2b2useful

    @2b2useful

    7 ай бұрын

    ​@@byteblox100that's okay, i just left it here for someone reading comments to learn something new. I don't know why i want to say it, but... "Every professional doctor has its own graveyard"

  • @ChatGris-vf1iu
    @ChatGris-vf1iu2 ай бұрын

    Third tutorial that I have tried today and yet it still doesn't work.. I am wasting so much time rn °-°

  • @the_red_gamer
    @the_red_gamer7 ай бұрын

    Loading screens just slow down the game loading time

  • @TheDevelopmentHive

    @TheDevelopmentHive

    7 ай бұрын

    it does, but id rather have a loading screen on lets say, ERLC and wait than everything be invisibile

  • @goober2407
    @goober24075 ай бұрын

    So the script is working for the most part, but its telling me that PreLoadAsync is not a valid member of ContentProvider. does ayone have any insightful info or fixes?

  • @aleksi789

    @aleksi789

    2 ай бұрын

    you mispelled the function name

  • @de_fht
    @de_fht2 ай бұрын

    The script : local contentProvider = game:GetService("ContentProvider") local ui = script:WaitForChild("ScreenGui"):Clone() repeat wait() until game:IsLoaded() local assets = game:GetDescendants() local maxAssets = #assets local plr = game.Players.LocalPlayer local plrGui = plr:WaitForChild("PlayerGui") ui.Parent = plrGui for i, assetToLoad in assets do contentProvider:PreloadAsync({assetToLoad}) ui:WaitForChild("Frame"):WaitForChild("TextLabel").Text = i.."/"..maxAssets end wait(1)

  • @HyghRblx

    @HyghRblx

    Ай бұрын

    forgot the ui:Destroy() at the end

  • @de_fht

    @de_fht

    Ай бұрын

    @@HyghRblx it was done on purpose to see if people copy or read a little

  • @Highseepkuq
    @Highseepkuq5 ай бұрын

    dosen`t work for me :/

  • @MonitorFrames
    @MonitorFrames7 ай бұрын

    Can you make a loading bar?

  • @byteblox100

    @byteblox100

    7 ай бұрын

    Yeah, you can just increase its length whenever a new asset loads

  • @cantthinkofaname-lx8st
    @cantthinkofaname-lx8st7 ай бұрын

    TASHHHHHHHHHHH

  • @tekgewet
    @tekgewet6 ай бұрын

    time to remake crosswoods!!! :trollface:

  • @Adam-Jordan69

    @Adam-Jordan69

    4 ай бұрын

    ur comment is stupid ngl because some games with " loader" are just like numbers and aint waiting for game to actully load like all they do is "1/30" and wym time to remake crosswoods i have even tried and if u are srs and gonna try to remake crosswoods using this loader you cant because your coding skills are trash enough for you to search up how to make a loader trust me its almost impossible to make crosswoods i have tried 2 TIMES

  • @Naxyyll
    @NaxyyllКүн бұрын

    for some reason it didnt work

  • @Iepistoo
    @Iepistoo2 ай бұрын

    didnt work for me

  • @dampytofficial
    @dampytofficial7 ай бұрын

    No

  • @jj-jy2kr
    @jj-jy2krАй бұрын

    how to make loading more fast

  • @errrrrrrrrrrrreaq

    @errrrrrrrrrrrreaq

    17 күн бұрын

    Well, you could get a better internet connection or computer.

  • @hypersecret6288
    @hypersecret6288Ай бұрын

    I dont know why im watching this, i dont even have a pc or laptop

  • @Dark_wither392
    @Dark_wither3923 ай бұрын

    I think I put in script wrong :(

  • @Dark_wither392
    @Dark_wither3923 ай бұрын

    It won’t work for me :(

  • @abbenz8812

    @abbenz8812

    3 ай бұрын

    send me your code

  • @vey_ze
    @vey_ze5 ай бұрын

    mine just stops at 12523 why

  • @byteblox100

    @byteblox100

    5 ай бұрын

    Assuming you copied the code correctly; it might be an issue with your pc. Sometimes an item doesn’t load fully because of the device and so the loading screen gets stuck

  • @vey_ze

    @vey_ze

    5 ай бұрын

    it works now, somehow my assets got from 21k to 1.1k but alright ty@@byteblox100

  • @Gavosk
    @Gavosk25 күн бұрын

    It didn't work

  • @MeatMake
    @MeatMake7 ай бұрын

    Why is there 1252 assets in the baseplate though? lol

  • @TheDevelopmentHive

    @TheDevelopmentHive

    7 ай бұрын

    serverscriptservice and mainly roblox files that even developers cant really see

  • @NexGenStudiosOffical
    @NexGenStudiosOffical3 ай бұрын

    Wrote and did evereything right and didnt worked i checked 3 times for misspells but nah

  • @ClonkBank

    @ClonkBank

    2 ай бұрын

    worked for me brah check again

  • @NexGenStudiosOffical

    @NexGenStudiosOffical

    2 ай бұрын

    @@ClonkBank Bro i did 10008829389 times im tired man

  • @ChuckAIDubs
    @ChuckAIDubs7 ай бұрын

    You didn't make a game, but you watch this video anyway, correct?

  • @TheOneAndOnlyRoco

    @TheOneAndOnlyRoco

    7 ай бұрын

    No its actually really useful

  • @dr_mafarioyt4313

    @dr_mafarioyt4313

    7 ай бұрын

    Useful? Hmmmm, probably not. Interesting? 100%. Even Im not even making a game, its just kinda neat.

  • @RandomGS

    @RandomGS

    7 ай бұрын

    @@dr_mafarioyt4313 How can you call this not useful? I now have a loading screen in my game, and i can confirm that it is now 10000% better

  • @ToastysTaken

    @ToastysTaken

    7 ай бұрын

    nah but im implementing it rn

  • @RedXVRWorld
    @RedXVRWorld2 ай бұрын

    It didn’t work

  • @PugDev44
    @PugDev444 ай бұрын

    i thought it didnt work.... i made one letter wrong..

  • @DevNaN_
    @DevNaN_7 ай бұрын

    e

  • @BloxBuilder100
    @BloxBuilder1004 ай бұрын

    If Your having problems with The loading screen taking to much time Then Change local assets = game:GetDecendants() to local assets = workspace:GetDecendants() that makes it only Wait for The things in The workspace to load

  • @zackrmgaming9349

    @zackrmgaming9349

    4 ай бұрын

    any way to make it even faster? I got a trash laptop and I got 18k assets. tkes at least a minute, I kinda want it to be halved. Any way to divide the amount of time to wait by 2?

  • @HelloHiReal

    @HelloHiReal

    3 ай бұрын

    @@zackrmgaming9349 delete preloadedasync line

  • @ChimkenCucumber
    @ChimkenCucumber7 ай бұрын

    :O

  • @jonac0426
    @jonac04267 ай бұрын

    lodading

  • @ArtucoDev
    @ArtucoDev7 ай бұрын

    Honestly, I hate loading screens, specially in roblox games.

  • @QUBIQUBED

    @QUBIQUBED

    7 ай бұрын

    Maybe, but itll look worse if you load into a game where 70% of the parts are transparent

  • @chaoibi

    @chaoibi

    7 ай бұрын

    @@QUBIQUBED or play while its loading and get huge lag spikes or overall lag

  • @ArtucoDev

    @ArtucoDev

    7 ай бұрын

    I agree, but most of the time they take 5 to 15 minutes to finish, so I'd rather play with many assets missing until the game finishes loading naturally.

  • @LyninGaming
    @LyninGaming2 ай бұрын

    Who suffering from this command ?: local contentProvider = game:GetService("ContentProvider") local ui = script:WaitForChild("ScreenGui"):Clone() repeat wait() until game:IsLoaded() local assets = game:GetDescendants() local maxAssets = #assets local plr = game.players.Localplayer local plrGui = plr:WaitForChild("PlayerGui") ui.Parent = plrGui for i, assetToLoad in assets do contentProvider:PreLoadAsync({assetToLoad}) ui:WaitForChild("Frame"):WaitForChild("TextLabel").Text = i.."/"..maxAssets end wait(1) ui:Destroy()

  • @PAM_VR
    @PAM_VR4 ай бұрын

    This is the script: local contentProvider = game:GetService("ContentProvider") local ui = script:WaitForChild("ScreenGui"):Clone() repeat wait() until game:IsLoaded() local assets = game:GetDescendants() local maxAssets = #assets local plr = game.Players.LocalPlayer local plrGui = plr:WaitForChild("PlayerGui") ui.Parent = plrGui for i, assetToLoad in assets do contentProvider:PreloadAsync({assetToLoad}) ui:WaitForChild("Frame"):WaitForChild("TextLabel").Text = i.."/"..maxAssets end wait(1) ui:Destroy()

  • @SemKuipers-gn7xm
    @SemKuipers-gn7xm2 ай бұрын

    It doesn't work...

  • @BendGgHhyeve
    @BendGgHhyeve2 ай бұрын

    Time wasted

  • @HappiTappi10100
    @HappiTappi101007 ай бұрын

    Nice vid Edit: yes i did like my own comment

  • @loco4loco

    @loco4loco

    7 ай бұрын

    No one cares you will be…

  • @betapacket
    @betapacket7 ай бұрын

    `wait` instead of `task.wait` 🤮🤮🤮

Келесі