StreamingEnabled removes all client-side attributes from BaseParts

Hello everyone.

Today I discovered the following problem: when any kind of BasePart removes from the player’s field of view, due to StreamingEnabled being enabled, the BasePart itself loses all its attributes set by the client.

First, I tried to find a topic on the forum that was similar to my problem, but I only found out that StreamingEnabled sets BasePart’s parent, that are too far from the player, to nil.

So I came to the conclusion that setting the BasePart’s parent to nil does indeed remove all of its previously client-side attributes. To be precise, I checked this on both the client and server sides with this simple script:

a=workspace.Spawn1 a.Parent=nil wait(1) a.Parent=workspace

So, I noticed that only “deleting” BasePart on the server side clears the previously set client attributes. It follows that StreamingEnabled somehow removes BasePart as a server, but visually on a client. Sounds very strange, but still.

Of course I wouldn’t complain about this if it didn’t break my client scripts. However my entire client heavily relies on client-side attributes in various BaseParts, and their sudden disappearance causes fatal errors.

Is there any way to prevent these attribute removals without disabling StreamingEnabled itself? I find StreamingEnabled very useful optimization feature, but I don’t like the effect it has on my client

Hey @IgromanEXE,

Yeah, what you’re describing sounds like streaming is enabled. Streaming streams out parts that are out of range and streams in parts that come into range.

You can modify this behavior directly for each part by grouping them into models.

You can read more about it here: Instance streaming | Documentation - Roblox Creator Hub

1 Like

Thanks for the answer, I’ll try something in the future.

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