Collapse Sidebar




The StreamingEnabled property determines whether network streaming is enabled for the place.

This property is not scriptable, and therefore cannot be changed once the game has started. For this reason, it is advised it is set in Roblox Studio.

Since it is replicated, both client and server can access the property to determine, but not set, whether network streaming is enabled. As a result, both the code snippets below will print the same value when executed from a LocalScript and Script in the same game.

-- LocalScript
local isStreamingEnabled = game.Workspace.StreamingEnabled
-- Script
local isStreamingEnabled = game.Workspace.StreamingEnabled

What is network streaming?

Streaming is an opt-in feature builders can enable for their places. It’ll allow places to have more BasePart|BaseParts, faster join times, and allow more games to run on less powerful hardware. It does this by allowing games to be played whilst objects are still being downloaded, and removing objects that are no longer needed.

The downside of network streaming is it means the client can no longer rely on specific objects being available. Developers should not enable StreamingEnabled unless they understand its implications and have put processes in place to manage them. For example, LocalScript|LocalScripts may have to use Instance/WaitForChild in order to access parts of the game.

If an instance that has been streamed to a client leaves the client’s streamed area and later reenters properties will be re-synchronized from the server. This can result in properties and CollectionService tags set by LocalScripts being overwritten or removed.

See also