Hello,
I recently noticed a “bug” where purple/black boxes appear. However, they are not visible in the studio.
InGame
Studio
How can this be fixed?
Hello,
I recently noticed a “bug” where purple/black boxes appear. However, they are not visible in the studio.
InGame
Studio
It would appear to be a bug that seems to be occuring in many games at the moment.
I would suggest you wait it out.
No necessary action is needed.
This is present in a game I work on, and they only appear on Models not inside other Models (i.e. under Workspace or Folders within it). It appears to affect seemingly random Models, potentially indicating a mesh of some sorts is not loading within it (nothing stands out inside it).
I would say this is a major issue, but it only seems to be affecting smaller games (under 2M), and I couldn’t find many examples.
We are looking into this. Some screenshots from people (multiple threads) show studio Beta. Are people seeing this in Studio Beta only or also outside of that?
(same issue reported here: StreamingEnabled: Models turn into purple untextured boxes when streamed out [with/without LOD])
Hi, assuming that someone was enrolled in the SLIM early access program and had ImprovedModelLod enabled in that early-access, this might happen for some models with respect to StreamingMesh.
A quick fix should be something along the lines of:
local s = {}
for _, d in ipairs(workspace:GetDescendants()) do
if d.ClassName == "Model" and d.LevelOfDetail == Enum.ModelLevelOfDetail.StreamingMesh then
table.insert(s, d)
d.LevelOfDetail = Enum.ModelLevelOfDetail.Disabled
end
end
task.delay(5, function()
for _, m in ipairs(s) do
if m and m.Parent then
m.LevelOfDetail = Enum.ModelLevelOfDetail.StreamingMesh
end
end
end)
and then save the experience to Roblox.
If that doesn’t work, just in case please make sure in the early access that ImprovedModelLoD has been disabled for the same experience so there is no weird inconsistent state.
In the worst case, you may have to temporarily disable streaming (though we are actively working on a fix).
Please let us know if that doesn’t fix the issue, we apologize for the inconvenience.
EDIT: Added more context to Early Access Program
Could you specify what you mean by an experience being enrolled in the early-access? None of our Developers even published the game before this issue started appearing.
Additionally, I don’t think the post should be marked as Closed if the issue isn’t fixed, I can still see these boxes in-game and running some code is not an acceptable fix if this is affecting unmodified games.
Sorry, I’m not sure where we marked it as closed. For what it’s worth, we are still treating this issue as open.
Were any of the developers working on your experience enrolled in the SLIM Early Access Program?
I attempted this, it did not fix the issue.
It seems someone found a work around, can people try this? StreamingMesh broken in-game but working in Studio
Hey guys, we’re really sorry about the inconveniences caused by the current situation.
To provide a summary of fixes:
local s = {}
for _, d in ipairs(workspace:GetDescendants()) do
if d.ClassName == "Model" and d.LevelOfDetail == Enum.ModelLevelOfDetail.StreamingMesh then
table.insert(s, d)
d.LevelOfDetail = Enum.ModelLevelOfDetail.Disabled
end
end
task.delay(5, function()
for _, m in ipairs(s) do
if m and m.Parent then
m.LevelOfDetail = Enum.ModelLevelOfDetail.StreamingMesh
end
end
end)
If this doesn’t work we recommend following the solution posted by another dev here, which is to essentially force the broken models to recreate StreamingMesh data by bringing them into a new experience.
If this still doesn’t work, we recommend either temporarily disabling streaming or streamingmesh (streaming will work without streamingmesh, models will just stream out) as a catch-all fix until we are able to provide a better solution.
We’ve also disabled the feature on servers so that should also help alleviate some issues in terms of inconsistency in data expected.
Again, we’re really sorry.
Thanks.
None of our devs are enrolled in the SLIM program, no. The place ID is 12018816388 if you want to manually check anything.
I tried to run the script you provided but it crashed my Studio since it was trying to change 3600 parts.
For the link @TigerRabbit2 provided, that solution is simply not viable as the game is huge and has hundreds of models where this issue is occuring. I would try it on one or two, but currently Studio is refusing to let me join the Team Create with some generic error.
I’m really sorry about how inconvenient this whole situation is.
Unfortunately I can’t do much with just the PlaceID.
That being said, if there are too many models being changed, it might work to do a more piecemeal approach, here is some starter code to help. I tested this in an experience with ~17,000 models and it seems to have gone through without crashing (albeit a bit slow, but that’s because we’re throwing in a wait):
local CHUNK_SIZE = 500
local BREAK_DURATION_SECONDS = 5
local streamingModels = {}
for _, descendant in ipairs(workspace:GetDescendants()) do
if descendant:IsA("Model") and descendant.LevelOfDetail == Enum.ModelLevelOfDetail.StreamingMesh then
table.insert(streamingModels, descendant)
end
end
if #streamingModels == 0 then
return
end
for i = 1, #streamingModels, CHUNK_SIZE do
local endIndex = math.min(i + CHUNK_SIZE - 1, #streamingModels)
for j = i, endIndex do
local model = streamingModels[j]
if model and model.Parent then
model.LevelOfDetail = Enum.ModelLevelOfDetail.Disabled
end
end
print("Streamingmesh disabling chunk done")
if endIndex < #streamingModels then
task.wait(BREAK_DURATION_SECONDS)
end
end
print("Disabled all streamingmesh models")
for i = 1, #streamingModels, CHUNK_SIZE do
local endIndex = math.min(i + CHUNK_SIZE - 1, #streamingModels)
for j = i, endIndex do
local model = streamingModels[j]
if model and model.Parent then
model.LevelOfDetail = Enum.ModelLevelOfDetail.StreamingMesh
end
end
print("Streamingmesh enabling chunk done")
if endIndex < #streamingModels then
task.wait(BREAK_DURATION_SECONDS)
end
end
print("Enabled all streamingmesh models")
RE: Teamcreate not letting you join, if you are unable to join after trying a few times, there are autosaves periodically generated by studio that you might be able to open. If that doesn’t work, it might help (though I’m not 100% sure) to also use the version history rollback to retry.
Thanks for this, I didn’t get a chance to use Studio for a while but in the meantime the issue has disappeared and none of these error models are appearing anymore.
Still a bit weird but is resolved now, thanks very much for the support!
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.