StreamingEnabled fails to fully stream in certain physics systems

I just encountered a bug related to StreamingEnabled, where a certain physics system in my game was streaming in only partially. Curiously, the missing parts are never added to the workspace (not showing up via DescendantAdded) on the player’s client, but the server still gives the player network ownership of these unstreamed parts when the player walks near them.

Here is a simplified repro of an analogous physics system that only partially streams in:
StreamingBugRepro1 (Streaming fails).rbxl (21.7 KB)

When you walk near the “MainRotatingPart”, the part of the physics system that is parented to workspace will stream in
image
However, all descendants of “MainRotatingPart” fail to stream in.

If these descendants are parented to the workspace instead of MainRotatingPart, they will stream in fine:
StreamingBugRepro2 (Streaming succeeds).rbxl (21.8 KB)

Although it is unorthodox to parent BaseParts to other BaseParts, StreamingEnabled typically accounts for this by streaming in the whole system when the parent BasePart is streamed in. When the HingeConstraint is removed from the mix, the whole system streams in together just fine:
StreamingBugRepro3 (Streaming succeeds).rbxl (20.6 KB)

Thanks for the repro. We’re investigating currently.

1 Like

While I’m still investigating the root cause, we discourage parenting parts to other parts when the parent can be far away from the child. It is “unorthodox” as you mentioned. :slight_smile: It would be preferable to use a model to contain the parts:
image

If I do that things load in, but the parts will not be moving until the main part loads in. We are working on improvements in this area, but the best suggestion I can give you currently is to use a model and not parent to other parts.

I’ve created a fix for the original BasePart under BasePart issue and it should be active in a couple weeks. I still recommend using Models as parents instead of other BaseParts where possible, but this specific bug should be fixed.

1 Like