All of the model LoD StreamingMeshes in my game are pink checkered boxes

Issue Type: Other
Impact: Moderate
Frequency: Constantly
Date First Experienced: 2021-03-18 20:03:00 (-05:00)

Reproduction Steps:
This started happening immediately after I tested my game with an emulated device with 10mb of memory, but I’m not sure if this is related. It stopped happening for a couple of days with seemingly no trigger, and then magically came back a few days later without me having touched the emulator.

This started happening March 18th, and after it reoccurred, it has been happening consistently for about a week.

I tried to reproduce this on a baseplate with the models in my game and could not. I cannot reproduce this in any of my other games either, not even the version of my game meant for production, which has an identical map, streaming, and model setup and configuration.

I suspect this is caused by bad / missing cache, but IIRC clearing the Roblox http cache in AppData/Local did not seem to help the issue, so it must be elsewhere.

Expected Behavior:
I expect all of my StreamingMeshes to appear correctly, and not be giant pink and black monoliths.

Like this, in the prod version of my game:

image

Actual Behavior:
Every time I play the in-development version of my game in Studio in either play solo, or with a local test server, all or most of the StreamingMeshes in my game are broken, and render as pink and black checkered boxes.

This is only affecting models that previously had StreamingMesh enabled for LevelOfDetail. New models that have this turned on are not affected.

image

The issue occurs in this game: BaA:R - Development Testing - Roblox
The issue does not occur in this game: Be an Alien: Renewal - Roblox

This does not happen at all in the client, only in Studio.

I have included before and after logs in a private message attached to this thread.

Workaround:
Creating new models and setting LevelOfDetail to StreamingMesh appears to work correctly.

Turning off StreamingMesh and turning it back on for one of the affected meshes appears to temporarily fix all of them, but after restarting Studio, the issue immediately comes back.

4 Likes

These pink-checkered boxes mean that Studio didn’t finish processing and generating ModelLODs for these objects. Is it possible that you saved/published the game immediately after enabling LevelOfDetail?

When you enabled LevelOfDetail on many objects in game, a background task is launched so that we don’t hang your work on Studio. After the work finishes it progressively saves data to each model. If you Play the game in Studio or Publish and Play the game before this is finished you will see pink checkered boxes.

However if you launch studio and let it finish the process (you can verify by hitting Play and seeing that the boxes are gone), if you re-save/re-publish the file after that the finished LOD data should become saved and this kind of issue should go away unless you do a lot of changes to the models with LevelOfDetail enabled.

Does that make sense?

5 Likes

These LoD models were working for at least a week before they all broke, so I’m sure I let this background task complete. Also, this does not occur in the client for the same place, only Studio. Everything works correctly in the client.

I don’t think I did anything to cause this unless I published/saved during play solo by accident, then stopped the game and re-saved. Is it possible this could break something if all of these models are updating during gameplay?

Regardless it should be impossible to publish or save until this task is complete. Perhaps it should print something to output when this process begins so it’s not completely invisible.

I will try toggling this property for all of the models in my game tonight to see if that fixes the issue, but these did all break spontaneously after they were working fine previously.

1 Like

Did you by any chance move the models around? Moving the models in the Workspace causes them to be re-processed for possible modifications.

1 Like

I have not moved any of them in edit mode. The only changes that could happen to them are during gameplay on the client (code to animate tree leaves), but models without any animation are also broken.

2 Likes

In-game animation/movement should not affect them. If you say they spontaneously lost their data/became checkered without your input, this is a definite concern for us. Any extra details would be helpful!

3 Likes

I’m not sure what else I can include other than what’s in the OP. Are there any local files I can fetch for you? I could provide the place file privately if this data is serialized and that would be helpful.

For background, I was in the middle of testing for an issue with boatbomber’s windshake module. I put the emulator on with low memory to test how things behaved when they were streamed out. I had already long established these LoD models on the 28th of Feb.

2 Likes

A PM with a serialized file (if it reproes the issue in Studio or somehow else) would be helpful!

1 Like

I thought about it and I think it’s possible I may have been updating tags on many models at once. I wouldn’t expect this to trigger an update for LoD models.

What most likely happened was the first time this occurred I updated tags on all of these models while setting up a module, and it is possible I may have saved immediately after I did this.

I’m not sure what I could have done to fix it and then break it again, I did rename these tags at least once, maybe twice, but I don’t think I renamed them at the time it broke the second time, so there’s still a mystery, but the case you’ve described may not be totally ruled out.

I will check if I can save the file and have it reproduce after work tonight regardless. Maybe I’ll remember better by then too.

It is really important that this not be an invisible process that developers can accidentally interrupt and break. I think operations like this and the upload process for e.g. surface appearance needs to block saving and publishing and communicate something to the developer why.

1 Like

I think you are correct on this point. Normally when Studio is still mid-process on something it will not let you publish, or at least notify you that some background process is working. At the very least I think we can make it more clear that this process is happening so that its obvious.

I’ll add this on the list of items we want to improve with ModelLOD V2. If its simple to add, we will try to release it earlier. We have a few things we are trying to improve with respect to Streaming, and ModelLOD is one of those things.

2 Likes

That would be excellent.

If it’s not easy to just outright block saving from how this is implemented, maybe having it retry in the next Studio session is an easier alternative. It’s very strange that Studio will just leave this in a broken state.

1 Like

So this already shouldn’t be possible. My expectation is that you may be able to Play in an unfinished world, which is when you would see checkered boxes…

However, Studio should never just stop and leave permanently unprocessed Models. It should continue processing where it left off.

Let me ask around internally about this a bit more.

2 Likes

I have DMed you my game file, I did manage to see it reproduce when I copied the file to my desktop and opened and played it without publishing.
https://devforum.roblox.com/t/re-all-of-the-model-lod-streamingmeshes-in-my-game-are-pink-checkered-boxes/1138378?u=pezsmistic

1 Like

Resurfacing this thread because yesterday I enabled streaming mesh on a new model, then changed my mind and disabled it. Every single streaming mesh in my game is now a pink checkered box and will probably stay this way until some time later. Why is the process for generating a streaming mesh for a single new model affecting every single streaming mesh in my game?

2 Likes

This still happens every single time I touch the contents of any model in my game. I am trying to remove redundant lights from the models in my map and I am now experiencing this again.

This is making it impossible for me to find errors and warnings in my console when I play the game because of the massive endless avalanche of warnings that get printed when this happens.

Let me know if there is anything I need to provide to help get this fixed, or anything I can do to prevent this from happening in my game.