Development Log - June 22, 2024
Added 2024-06-22 14:53:28 +0000 UTCHello everyone. I want to share what I've been working on the past 2 weeks and my plans for today and tomorrow.
1.0.17
Tomorrow's release will feature several improvements:
Several bugfixes, including one impacting the quality of exported GameObjects on Unity 3 and 4.
GPU acceleration for static mesh separation on Windows computers.
Support for all recent Unity versions.
Il2Cpp Conversion
This is going well. I've put a lot of the infrastructure in place and made some preliminary embeddings for X86. I want to get a demo out for you all as soon as feasible.
Improved Asset Deduplication
I am writing the source generation for this today. After that, I should be able to just "drop it in."
C++ Translation
One of the frustrations I've had for a long time is that using native libraries can cause problems for AssetRipper:
It is extremely annoying to compile native libraries for all the platforms that AssetRipper supports. As a result, some features get locked behind specific platforms.
Exceptions thrown in native code cannot be caught in C# code. When this happens, AssetRipper crashes suddenly with little indication of what caused the issue.
In the past, I solved this by meticulously converting open source native libraries to C#. That approach is tedious and error prone.
I came up with a plan to translate native libraries to C# programmatically and have started development.
Use Clang to compile C++ code to LLVM IR.
Convert LLVM IR to .NET CIL.
Decompile the CIL with ILSpy.
The middle portion is the only one that requires any development from me; the other two are trivial.