Starting around January 9th, we started receiving reports that specific PersistentPerPlayer models were dissappearing for some users in Car Crushers 2. And these reports have gotten significantly more frequent since Friday (17th)
Reproduction steps for this bug:
- Set ModelStreamingMode of a model to PersistentPerPlayer (In a place with StreamingEnabled set to true)
- On the server, run the code below to clone and parent the model a PersistentPerPlayer model to a player’s PlayerGUI (The model must be in a location that is outside the player’s Streaming Radius)
- The BaseParts in the model will stream out, despite the player being assigned as a Persistent player for that model
The reason we do this is because we want to replicate assets to specific clients on demand, without having to keep those assets on the clientSide to save memory. Those assets can also not be within player’s Streaming Radius, as the preview location has to be far away from the main gameplay area, and switching ReplicationFocus is too costly (We use opportunistic streaming, which means everything in the main gameplay area unnecessarily unloads if we do this)
This is what we know so far:
- It seems to primarily affect desktop players. And all the people we’ve questioned had a very good network connection (Low ping, high bandwidth)
- All the people who encountered this bug seem to see the model for a split second before it disappears. After the car disappears, it seems like all models remain except the baseparts, as if the ModelStreamingMode is set to default (The only errors these clients have seen are errors related to baseparts missing)
- This does not happen if we do the same thing when Streaming is turned off