Improving Load Time

I have a lobby with 30+ morph pads that allows players to morph into different appearances. Each morph pad consists of an NPC dressed in a unique appearance. The problem is that these all these assets are a bit slow to load when a player joins the game, and affects the loading of my other assets, such as GUI images. Even though the GUI images are preloaded, the client does not show them until after most of the morph assets are loaded.

So I am wondering if there is a way to either

  1. Have the client show the GUI images first, before the morph assets load
  2. Or, without using the Teleport service, to move the morph pads elsewhere, so they are not loaded until a player enters the area or room which contains the morph pads.
3 Likes

Maybe you could give the NPCs their appearances via script after everything else has loaded? Or maybe keep the NPCs in ServerStorage until that time (client would send a ping to the server, server would make a copy of the NPC and send it to the client)?

You could also have a set timer (wouldn’t be as effective since some people have slower PCs, but it’d work) that would wait ‘x’ seconds then it would clone the NPCs.

Just a thought.

1 Like

At the end of the day there is no real way to improve the rate at which assets load for each specific client, you can make the objects simpler or have less polys - but the ideal fix might be to load these assets in while the player is doing something else (if possible).

2 Likes

Only solution I see is moving all morphs to serverstorage.
That way the GUI will load first along with whatever characters are currently ingame.

Wouldn’t impact the playing experience later since, when theres no loading-que, loading a single morph will go pretty fast.

Why not try enabling the StreamingEnabled property of Workspace? It allows things to load after the player spawns.

2 Likes

Just put the morphs in ReplicatedStorage and have each client place them in the workspace after they’ve loaded.

They’ll still have to load all the instances for the morphs when joining (Parts) but the actual mesh and texture content won’t be downloaded until you place the MeshPart that references them into the workspace

2 Likes