The asset in question is for a mod (Oblivion fyi). It works in editor, and in old versions of the game. I have already reimported relevant skeletons and meshes and resaved the asset.
Crash happens as long as the asset is in the package, regardless of whether it is actually loaded in game / referenced by anything.
Rebuilding the thing from scratch should work, but I would much prefer to avoid that. Anything I can try?
Hello there @Houthakker888!
In order to pinpoint the issue’s origin, we would need to check the extended crash log:
Where To Find Local Crash Reports
Crash reports from the editor are stored on your local machine in your project’s Saved/Crashes
folder.
Alternatively, you can find crash reports on a user’s local machine in C:\Users[Your Windows Username]\AppData\Local[Project Name]\Saved\Crashes
.
From the log, it should be possible to confirm if the crash comes from the asset in question, or another related element.
It is not an editor crash though? It’s a mod and there’s no log.
I am also sure it came from the physics asset. Removing this one asset from the package stops it.
Update: I tried recreating a physics asset and testing in game each step, it appears that having multiple bodies on the same bone causes the crash. It is also irreversible: removing the extras, regenerating bodies for those bones, or even deleting those bones completely will not fix it. Have to start over from a fresh physics asset if it happens.
I made a physics asset with multiple bodies on the same bone, then deleted them and regenerated those bones. File size is 101.436 kb. I then remade the exact same physics asset without ever adding multiple bodies to the same bone, and file size is 98.854 kb.
Obviously some data is misaligned and isn’t properly deleted on edit. Is there a way to view data directly and not through the phat editor?
Update 2: In addition to the multiple body thing, for whatever reason if linear damping, mass scale or stabilization threshold of any body is not the default value, the game will crash. Didn’t happen in old versions. Idk what they did in 1.2.
Hello again!
Thank you for the updates, just to round up where we are:
- No crash log is available
- The main cause is the physics asset
- Re-importing or re-saving it changes nothing
- Re-creating it results in a size disparity
- Removing the asset stops the crash
Checking with my peers for this peculiar scenario, the proper path would be to attempt removal of the asset’s corrupted data.
A simple approach to this could be to export the asset outside the engine, open it with a notepad, and look for any duplicated entries related to would be to SkeletalBodySetup on the same bone. Once you make all the edits, re-import the asset and test it again.
A more difficult option, would be to open the faulty asset’s raw data using a hex editor, compare to a clean asset, and isolate/delete the corrupted blocks. This is a quite daunting task, make backups of everything before trying it out.