Stream Out Behavior: New Property for Streaming Enabled

What is the best one for extremely heavy games to not lag?

Bug: when parts or MeshParts with CanQuery off go out of the stream range, they don’t get unloaded.

I observed this by doing Shift + P (for the freecam) in my game. After turning CanQuery on for the respective parts, the issue resolved.

Sorry for posting here, but I don’t have permission to post bug reports.

2 Likes

Anyone else having issues with just tools (tool equipped and child of a character) out of rep-focus, just not loading in when you get into range?

2 Likes

If you are encountering issues with vehicles breaking with opportunistic stream out please check if you are using JointsService. If you are, our current recommendation is to store your welds in the workspace rather than in JointsService, and the issues should go away. We are investigating if a fix is possible that would allow JointsService to work properly, but JointsService has been deprecated for many years and we do not recommend using it.

If you have a vehicle based on A-Chassis then you most likely have welds stored in JointsService.

6 Likes

I don’t think this feature is working properly on mobile. The memory usage on my phone were constantly at 3 GB, feels like the parts were not streamed out at all keeping the high memory usage.

2 Likes

My vehicles suffer from replication issues (their assemblies load in fully but vehicle itself gets separated and one part of it remains at random spot on the map completely idle)



interesting to notice that these issues occur with part of vehicle to which driver seat is welded to (EDIT: i got another report of the issue, and that first statement is false, its not related to driver seat), and sometimes when player jumps out replication issues stop and vehicle starts rendering correctly

I parent all welds inside vehicle itself, but body that desyncs from wheels is connected to wheels using AlignOrientation and AlignPosition constraints, so that might be the cause of problems

Additionally i noticed that the vehicles that are far away fail to unload and im not sure if thats intended or not (i saw a bug report that mentioned having CanQuery set to false causes that, not sure if thats the reason of that in my case)

2 Likes

Is there a known bug in regards to tools or should I file one? Or is there a work around I should be doing to make sure other peoples tools load in?

1 Like

If you can file a bug report for the tools issue that would be helpful. If you have a simple repro place that would be especially helpful.

I cant make bug reports unfortunatley. (I forgot)

I also dont feel like I have enough information on it to make a good report. Only info I know is that when Streaming Enabled with Oppurtunistic is on, occasionally loading into areas where players already are whom have tools equipped, will make their tools not appear on your client.

Also have noticed when Players coming from areas that are unloaded to you, their tools that were equipped in the unloaded area also appears unloaded when they’re near you.

The feature appears to break multiple part skinned mesh rig that is held together via Motor6D.

This is fantastic; however, vehicles using A-Chassis unweld and fall apart after leaving a chunk and then going back into it. I hope there will be a way to combat this sometime soon, as I haven’t found any solutions to this problem yet.

As mentioned previously in this thread if you are using vehicles based on A-Chassis you should modify it to not store the welds in JointsService. Change this line:
local W=Instance.new(type,JS)
to something like:
local W=Instance.new(type,workspace)

2 Likes

Genius. Thank you so much, I cannot believe I didn’t see this earlier!!

We are also experiencing this same issue; I have created a simple repro place and sent it to @CorvusCoraxx to investigate.

1 Like

Is it possible for us game developers to script imposter meshes, for more performance friendly obbies?

Case: I have a obby. I want to load the next stage after the current stage. Currently it looks something like this:

And yes I do know I can just put the objects in replicatedStorage and put then in the workspace when they are needed. The thing is I want want to unload stages using imposter meshes when let’s say I am on stage 7 then I want to make imposter meshes for stage 1,2,3,4,5.

In order to make this happen using StreamingEnabled, I would have to get access to select what objects I want to stream-in and out.

And have access to make select what objects I want to make imposter meshes.

1 Like

This is an amazing addition to StreamingEnabled, I’ve been begging for this feature for a long time, and it’s finally here! The ability to unload areas in the distance when not being used is a huge plus for large environments, and drastically increased the performance in my game with the new Opportunistic setting. But it sadly comes with issues…

My game Dawn of Aurora uses 3D shop environments located in distant areas of the map, and when you go to open the shop, it screams in the output there’s no CamPos, which is used to position the camera to the 3D shop. So, because these CamPos (parts) don’t exist due to the Opportunistic setting, the Shop is completely broken and unusable (game breaking).


With this new Opportunistic setting, I wish there was an option to pick and choose which parts don’t get Streamed out, giving us control over these kinds of issues that can occur, cause something as light as these 3D shop scenes are only 50-100 parts having no impact on performance, so I would love if I had the ability to just leave these parts alone where they aren’t affected by the opportunistic setting.


Another issue I noticed with this setting is that players can appear invisible due to being unloaded when in the distance, so when coming in close proximity, sometimes players will be completely invisible or only certain aspects of the player will be visible (the head or specific body parts of the player) – I don’t know if this is an issue with how my game is structured or if this is a common issue with this new setting (would love feedback from anyone if experiencing a similar issue)


Anyway, thank you for this new feature, I would love to see further improvements to this new system, but this is a great step in the right direction.

4 Likes

Looks like my issues got worse, if you hit vehicle that is bugged like that, sometimes game completely pauses physics and never unpauses it, forcing players to rejoin

additionally if people try to enter bugged vehicle, their character gets flung very far away

i will try to look into this issue by myself but as of now i have no way to replicate it

UPD: physics pause because hitting not properly replicated vehicles causes your physical assemblies (your vehicle/your character) to fly to nan-ind

1 Like

This features is still pretty buggy… Replication bug and dysync players is still an issue. I had to revert to low memory.

1 Like

Ive fixed all car issues by setting their joints parents to the car itself maybe you could try that if you havent already?

As i said absolutely all welds are parented inside a vehicle itself