mafaca / UtinyRipper

GUI and API library to work with Engine assets, serialized and bundle files
MIT License
2.81k stars 433 forks source link

Export SerializedMono data for manual population #389

Closed Kein closed 5 years ago

Kein commented 5 years ago

I can get the script body itself from assembly but without the serialized data it is useless. Is there a way to get that data exported so I can reference it for a script manually?

Kein commented 5 years ago

Okay, I went through example assets with UAB and the data is there and can be easily references for the prefab since prefab contains all the data inside it, instead of relying on the scene. However, the prefabs uTinyRipper exports only contains references. Now, since you do not have Type Support like UAB I understand why custom script and its data skipped, but default stuff like UI scripts could be deserialized? Is there anything in particular that prevents it?

mafaca commented 5 years ago

Ripper export scripts. Process whole folder, not one specific file.

Kein commented 5 years ago

Yeah, my bad. Sadly, it fails in every case for every game I've tested with some levels.

mafaca commented 5 years ago

It support only managed assemblies. You can convert ill2cpp to managed dlls with Il2CppDumper

Kein commented 5 years ago

Yeah, it is managed Assemblies but there seems to be some data that is bogus to Ripper so it crashes on some serialized levels with out of bounds errors and such. It suggest to submit report with the resource file but there are multiple of them per game so.

mafaca commented 5 years ago

Well, in that case I can't help you. This happends in 2 cases 1) ripper can't process dlls because of ripper's bug - bad news, I don't fixes such bugs anymore :( 2) ripper can't process dlls because of unity's bug - well, there is no workaround here The only way is to download ripper's source code, add try catch for such kind of errors and rebuild projects manually

Kein commented 5 years ago

Yeah, I have no issues debugging it, but to actually fix it Unity seriaalization structure knowledge required and I will be honest working iwth UE4 formast made me hate any kind of serialization and I just dont want to do it all over again.