Streaming Enabled not Replicating Terrain correctly

  • Description - When swapping terrain regions by using: workspace.Terrain:Clear() and workspace.Terrain:PasteRegion(someTerrainRegion, workspace.Terrain.MaxExtents.Min, true) commands, and having Streaming enabled, some parts of terrain fails to be removed.

  • Reproduction - I have provided the repro file, you have to spawn by default play button so that your character ends up on Spawn location, then you type :fly me command in the chat, that will grant your character a flying ability to navigate through the workspace (It’s using famous Kohl’s admin commands, which apparently failed activating the flying ability 1 out of 5 times, so re-play if it does not work, it also throws some http related errors since its a local file, but ignore them). Once you can fly, you will see every 15 seconds one terrain gets swapped with another and vice versa in infinite loop. First, you must approach one of the terrain that is loaded in and stream some part of it for your character, then when it is swapped, you can see that some parts of it fail to be removed. Here is what that would look like, note that following pictures are taken without moving camera or character at all, yet parts of 2 separate terrain regions are mixed:




    There is a consistent 100% rate bug reproduction case if you move your character to this sweetspot, which is apparently somewhat overlapping area of the two terrain regions in question:

    Overview of the repro place: You can see small MapSwapper code which controls swapping the maps, and actual terrain region objects.
    image
    Repro file itself:
    StreamingTerrainRepro.rbxl (2.1 MB)

  • Note - I use the same streaming settings as my main game, which has another streaming problem, this bug report in fact is derived from my previous report about streaming

1 Like

Thanks for this repro, super helpful and obviously a serious bug. Looks like if you delete and spawn new terrain in the same region the client can end up with chunks of previous terrain improperly littered all over the world.

This is definitely a Roblox bug and I am elevating my priority on this right now.

In the meantime, I have an idea for a workaround that I hope you wouldn’t have to use for long:

  • When respawning a level, send a remote event to the Client that asks the Client to delete Terrain in the region you are about to re-write new terrain to.
  • Once the Clients finish they can send an event to the server saying they are ready for the new Terrain.
  • On server you can spawn.

Again, this is not an ideal solution and we are working on a fix, but in case this was blocking you on something I wanted to put this idea out there.

I do think I have a fix for this in flight. If testing goes well, it should be on after Thursday next week.

7 Likes

Thank you for the response and also the proposed temporary fix.
In fact I actually do something similar as a workaround, except this part:

I just use a fixed wait time on server after the remotes are fired, so that it does not depend on user feedback, as it can be spoofed and mess up matchmaking for the whole server, just writing this in case someone else also plans on using the temporary fix, but this fixed wait time has its own con of not being too reliable.
And also, are you referring to the vehicle streaming bug or the terrain streaming bug below?

1 Like

Sorry for the confusion, the Vehicle bug specifically.

Only started investigating this terrain bug just recently.

1 Like

Hi, Any news so far? is the bug still being investigated, is there anything I can help with? either terrain or vehicle bugs

1 Like

The vehicle bug should be fixed I think. Are you still seeing it? If so I would love any help with repros.

The Terrain bug, I JUST got a fix in last week. It was quite a doozy that was much lower level in the code than I expected. If all goes well I should be able to roll it out on Thursday.

As usual, though, the date may change if QA finds something I missed.

2 Likes

if they are weapons help me my weapons my game :innocent:

Terrain fix should now be live. The repro shared here should not be possible anymore.

2 Likes

:heart_eyes: :smiling_face_with_three_hearts: I have already chosen in which province my game is going to start, I start with four cities and with provinces: salt colorado and new york and montana and nevada
![Mapa polĂ­tico de Estados Unidos con nombres

:smiling_face_with_three_hearts: :heart_eyes: