Data Extraction and Decompilation
The logical first step is to extract and decompile as much of the original game as possible to have a solid starting point.

- Name
- Kevin Østerkilde
- @kosai106
4 min. read

- UModel (Gildor’s UE Viewer) asset extraction
- UE Explorer Code viewing
- UAssetGUI Code viewing (UE4)
- FModel Code and asset viewing (UE4)
- UT4X Converter Map data
- UDK-to-UE4-T3D-Converter Map data
I won’t be sharing screenshots of any code written by Zero Point Software. This is despite me not being under NDA but simply because I respect what the team has done already and ideally I want to stay on their good side.
Explanation
In this post I’ll go over some of the steps involved in extracting data from the game in order to have something to start off the project with, rather than using a completely blank project as a base.
Bear in mind, despite having access to all of these assets, there are multiple steps that need to happen in order to make everything functional in Unreal Engine 5 - Assets will need to be scaled correctly, rigs will have to be adjusted, Kismet need to be converted to Blueprints and Cascade need to be converted to Niagara and so on. It is a long and tedious process with lots of trial and error.

Assets
UModel is used to extract meshes, textures, sounds etc. from the game files. Despite having the game and editor available to me, I do not have direct access to the source assets or code itself.
It’s important to check Override game detection, set the engine version to Unreal engine 3 and select Huxley as the game being converted from, otherwise the decompiling process will fail.
The easiest is to create a custom shortcut with the startup params -game=Huxley already defined so I don’t have to worry about this every time.

Levels
UT4X Converter was problematic, I could never get it to work as it would always hang with a SEVERE warning when trying to convert a map. Alas I needed to find another way to port maps over if I didn’t want to do it all manually.
That’s when I came across UDK to UE4 T3D Converter on the other hand was easy to get going with but in my experience, at least for this specific game, the output it gives is not super accurate, meaning that the sizes and location of meshes, and in a few instances, rotations, would be off either by a huge margin or just ever so slightly.
What this means is that, sadly, there’s a lot of cleanup to do on the output .T3D file but in some instances, it’s still faster than if you were to try and place every asset, light, volume etc. in the exact right spot by hand. Besides, a lot of the changes required can be done using a regex find and replace. 👍
Lastly regarding .T3D, it might not seem like it is supported in Unreal Engine 4 or 5 any more, seeing as the import option for it has been taken out (Only a tooltip remains which I have an open pull request for them to fix). This is not the case however, you can still make it work simply by copying the file contents to your clipboard and pasting it while the editor is active. I was so surprised by this that I had to share it on Twitter.

Code
UE Explorer is fairly straight forward, simply open it and select the IMGame.u file, this will show you most of the interesting bits of custom code written for the demo such as weapon logic, AI logic and game modes.
All of this is decompiled code so it can’t be re-used directly, hwoever it does remain very readable so converting it to Blueprints or C++ code shouldn’t be too much of a hassle as long as you have experience with either.