Long-Distance Beams not loading with StreamingEnabled

Hello! My game is in the City-Roleplay genre. A few of the jobs such as Bus Driver and food delivery use beams to indicate where the player should travel to.

The Issue:
The game’s map is huge, and requires StreamingEnabled on for performance improvements, this causes unexpected issues with the creation of beams. Currently, the client waits for a folder of parts in Workspace named 1,2,3,4,5… based on the index, and creates a beam to the part. When a player reaches near the part, the index increases by 1 and creates a new beam to the next index part.

However, the parts in this folder are located far away in different sections of the map, and do not always load 100%, resulting in failure of creation of beams!

Attempted Solutions:
In order to mitigate this issue, I fire a remote event that uses RequestStreamAroundAsync and forces the server to load the parts in the folders so the beams cannot be created. This is still not 100% reliable as stated in the RequestStreamAroundAsync documentation as it relies on player’s network connection.

I need a way to reliably force load the parts in the folders so I can create beams and detect when the player is near.


What you could is have a remote function requesting the part’s location from the client to the server, and then have the server get the location of parts and return them (since streaming does not happen on the server so it can directly index the parts), then on the client create fake parts at the specified locations returned from the server, and then create the beams with the fake parts, also, parts created locally will not be streamed out.

1 Like

Oh I didn’t know this, I’ll try putting the folder in rep storage and cloning the part into workspace

Yeah roblox just made this change recently, you can read about it here: Streaming Prefetch API and Improvements to Part Handling

1 Like