@kenami @ProvenData @ittrgrey @Deemsx @PeZsmistic
This is due to ChildData missing from the union. PhysicsData remains afaik, but, when ChildData goes missing the Union will be separated into nothing (there is no instances stored for it to separate into), and will appear “invisible” despite having collision. I think additionally MeshData is lost? I don’t remember if MeshData is or isn’t lost… (These are all internal properties of PartOperation & PartOperationAsset instances, the latter being the instances stored in the Roblox cache for downloaded union content)
The reason that copy and pasting sometimes works is because the union can still have an asset ID with it on the web which will have old content. If your restart studio and save the game though, I’m fairly sure this ID gets overwritten because it gets uploaded as a new asset.
If you guys can provide me rbxl and rbxlx copies of effected Unions, I can possibly look into a way to recover or repair them hopefully. The more the better, but, it may not be possible as the data may just be gone entirely, we’ll see I suppose.
Also, if you have unions go missing in your place and its published, go into Game Settings > Places > (Sub menu) > Version History, you should be able to find old versions of your Unions still in tact there.
I’ve already looked into XML model files and it always manifests as a missing solidmodel asset ID. Just a null field. Doing anything useful with the compressed file format seems unlikely.
The union seems to get uploaded and the child data seems to get replaced with the uploaded asset whenever the place or model is saved in studio, which happens also on autosave, so recovering unions in other ways seems extremely unlikely and unreliable. The act of trying to save out the union will actually destroy it.
You can try this file if you want to test your theories, but I don’t think you’ll get much further. I have a tutorial up on how to recover your old unions that seems to do the job for most people who have lost significant work.
Can someone explain to me how Bloxburg manages to overcome this bug?
There, for example, you can create a window anywhere on the wall. This is similar to my case, using SubtractAsync. But there, the wall does not disappear, as it happens with me …
I’d imagine from the response time of building in bloxburg that CSG is not being used to generate windows lol, live CSG on that scale would take 10+ seconds to render. This is most likely just clever math.
I think the use of 3D programs is always the first choice for everything related to complex meshes, EXCEPT when the spacing between subparts must be varied, as in my case, where the position of holes for windows must be calculated automatically during the execution of the program; in this case, a static mesh will not do.
Thanks for the help, I appreciate it. However, it shouldn’t be the job of builders to have to go through all this hassle just to recover work they spent a lot of time on. I’m primarily a modeler so this doesn’t affect me as much but ROBLOX should be sorting this out, it’s been happening for a long time.
I’ve also been having issues with unions going corrupt, the biggest issue for me is it’s 100% guaranteed. Both CSG v1 and v2 have this issue, so I’m essentially screwed over until it’s fixed. Worst of all, it always happens while I’m working on them so I can’t even do the export then import as mesh because they ain’t even finished.