Allow Clients to set ReplicationFocus

As a Roblox developer it is way too complicated to get Streaming Enabled to follow the Clients Camera instead of their Character Model.

The reasoning for this is simple, I want features such as freecam to let the Camera move around the environment without reaching the edge of the world being streamed in.

A staff member mentioned in a post that you could set the streaming focus client-side here:

But after some testing, seems like it only actually works when being set server-side:

I was unable to get the Client to have any control of the ReplicationFocus and was then forced to create a use a convoluted system of having the client artificially communicate to the server where the Streaming Focus should be every single frame.
This feels quite overkill for such a simple change that surely many other devs would want from Streaming Enabled.

19 Likes

I think you used to be able to do this, but it’s removed because exploits but i think they can re-introduce this but make it disabled by default and only enable it if you know what you’re doing and what you’re getting yourself into. (Basically, a warning when enabling this)

2 Likes

They probably used to support it, but perhaps removed it for performance reasons?
For 99% of usecases, a custom method where you only periodically update the replication focus every 0.5s or 1s should be enough. This saves a ton of bandwidth, over 60hz updates.

Do note, ReplicationFocus can also affect physics (and other Roblox systems?). Probably not a good idea if your camera can be far away from your character…

1 Like

I’ve tested this in the past and your character will float in the air if the area it is around is streamed out. So there should be no concern for the character itself. Locally created parts that use physics might be a different story.

3 Likes

Do you have any source on that it was removed because of exploits? I couldn’t find any posts or staff members talking about this.

1 Like

Idk i just heard some exploits increased the streaming/ownership thing to “own” all physics objects by setting it to very high number or infinite, now that i realize that might not be streaming enabled related or maybe it was but wasn’t common in StreamingEnabled places but more globally, since it affected Network Ownership on that matter.

1 Like