What happens to objects that are streamed out? (StreamingEnabled)

As a Roblox developer, I would like to see documentation on what happens when objects Stream Out of the client. As of now, I found out that parts just get parented to nil, at least in studio, since Destroying doesn’t trigger, and they also seem to be parented back when listening to property changes.

The documentation states only that: (Unless I missed something)
During gameplay, a client may stream out (remove from the player’s Workspace) regions and the BaseParts contained within them.


I saw an old post about it in the discussions, but they assumed they are destroyed, when in reality is not.


That said, this causes a lot of confusion, as people can code in a way thinking objects will be destroyed while others will code thinking they are solely parented to nil.

2 Likes

Hi there, thanks for the request. As you observed, when an instance streams out, it is parented to nil so that any existing Luau state will reconnect if the instance streams back in. As a result, removal signals such as ChildRemoved or DescendantRemoving fire on its parent or ancestor, but the instance itself is not destroyed in the same sense as an Instance:Destroy() call.

We’ll be sure to add this to the official Streaming documentation soon.

Take care,
IgnisRBX

2 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.