This is why I duplicate all my parts and put them into serverstorage before I union them. My paranoia about CSGV2 was justified.
Thanks for reporting.
Trying to look into what’s going on here, I loaded the model and tried to ungroup the “union” part of it, and I got an error pop-up telling that the child data for the union part is not available.
CSGv2 won’t currently operate on anything that doesn’t have child data (it needs the CSG tree telling how the object got made). It is concerning that you got no error message though. Are you using CSGv2, or do you have it disabled, or could you provide the model with child data in place?
I am using CSGV2.
And no, I do not have an uncorrupted copy. The original copy was the corrupted union.
I know the feeling all too well and I decided to completely scrap CSG. A year later and I still get corrupt unions and I’m not a person to really take a risk having nearly 70% of my unions corrupt destorys your soul.
So, just to be clear, were you using CSGv2 when this union got corrupted, or is one corrupted by CSGv1 way back, and just can’t be ungrouped by CSGv2?
This is important, because the CSGv2 code for unions is written so that it does not modify the objects in workspace at all until the operation has been completed successfully.
Also, is this something you encounter frequently? It’d be amazing if you could provide a repro case.
Could you elaborate a little on the circumstances when the corruption takes place? Is the model always very complex at that point, or does it sometimes happen with simpler cases? Does it take a long time to compute before it spits out the corrupted result?
A saved file from before the corruption would be helpful, for example an .rbxl file with an earlier version and a short description on what you tried to union with what.
Our current difficulty in even beginning to address this issue is that we have not been able to reproduce the problem.
I made it using the CSGV2 system. CSGV1 was never involved.
I don’t build all that often, but I am refining my building skills on a CSG heavy showcase right now. I’ll see if I can create a repo soon.
Really sorry I can’t provide any repos right now but I do appreciate your input and response, I’ll try to install myself into some new faith in CSG and see how it goes. I’ll be sure to ping you in DM if I come across anything now we know someone is aware and listening - it is a help.
Just a little update, this is still happening - @Spathi was working on a cello when he reported a studio crash, and this was the result:
CorruptedCelloUnion.rbxm (4.3 KB)
I made the cello union, finished it and continued building other things. Studio auto-saved and stopped responding, I was forced to close studio, and I came back to a corrupted union.
Just got this today… still happening.
I had autosaving off for quite a while and my unions seemingly stopped becoming corrupt. Auto save was re-enabled today and this has been my first corrupt union since I turned auto save off, that I know of anyway.
3 days later and I still haven’t had a corrupt union.
cc @linearcomplex, this might be the cause of the bug and the binary data being empty in the union I uploaded : How to recover invisible / corrupt unions
This is most definitely due to corrupted (and probably missing) ChildData. I (believe) by injecting custom child data you can fix this assuming the MeshData of the Union is properly saved however I’m not 100% sure on this (I’ve only recently begun experimenting with this). I can definitely help you get started with this though.
I’ve had similar problems spiking recently. Simple 5-part unions corrupt seemingly more than complex ones. the CSG system should really be fixed, even negative parts can be corrupted the second they are negated
Yep this is still happening. Even with very simple unions.
Still happening… I worked for 3 hours on a detailed building, and when i returned to edit the game after a few hours the building was no more. This is disappointing and killed my motivation.
I am saying this on behalf of all Roblox builders that are not working on any external software, please FIX YOUR UNIONS! it’s not fun to see your work spontaneously disappear. This happening really ruined my mood for today and made me question whether i should quit my project or not, or even quit developing on roblox whatsoever. On many instances you have proved that you are not listening to any input from developers.
This might actually sound like a full blown rant, but having to deal with loss of motivation and energy to develop, then getting some and getting it all crushed by something like this is actually making me livid. Many times, unexpected errors and failures while developing have made me take pauses, sometimes for weeks, but i was never so close to actually quitting.
I agree wholeheartedly, roblox is being lazy and they need to fix their unions, this has been happening non-stop. I’m primarily a modeler but when I do build my unions just disappear. It’s sad to see roblox not giving enough attention to building in their engine. I’m at a point where I have to quit with building since I’ve lost countless builds and it has really pissed me off.
I worked for a couple of hours on a commission, when I published, my unions just disappeared, this was the result: