Kingdom Hearts 3 uses a modified Unreal Engine 4 build that claims it’s 4.17 but it’s technically a couple of updates after 4.17.2 and before 4.18’s actual release build. It contains unknown extra data for animation data and the MaxLOD property type located in FCurveMetaData struct is int32 instead of uint8. Using 4.17.2 to mod this game works fine but cooking SkeletalMeshes from 4.17.2 won’t work and for that you need to set up a custom UE4 build that supports it.
This tutorial will guide you through the process of setting a custom Unreal Engine 4 build that you can use to cook custom SkeletalMeshes.
I don’t play Kingdom Hearts 3 and I was commissioned to get custom SkeletalMeshes working for this game, if you have any questions about modding the game then you can ask for help in the OpenKH discord server.
Caveats
- Custom shaders (Materials) don’t work. MaterialInstances of existing shaders work fine though.
- Skeletons don’t work. Animations probably won’t work either.
- You’ll have to compile the engine yourself.
Prerequisites
- Visual Studio 2015
- Access to UE4’s GitHub repo
- Engine.7z
- At least 50gb of free space
Getting Started
Installing Visual Studio 2015
Download Visual Studio 2015 from the prerequisites above and open en_visual_studio_community_2015_x86_web_installer_6847364.exe.
Click on Install
Select custom
Make sure that Visual C++ is selected and if “Visual Studio 2015 Update 3” is also shown like in the screenshot above then select that too, we don’t need anything else than those two features. Click Next and let Visual Studio 2015 install.
Downloading the UE4 commit
Create a GitHub account if you don’t have one and link it with your Epic Games account otherwise you will get a 404 error if you try to access the commit. Once you linked your account you should have access to the Unreal Engine 4’s repo.
We need to download this specific commit: https://github.com/EpicGames/UnrealEngine/tree/6b2c402ca8c33a06ab1f98af87d17a8ef16e89dc
Click on the green button that says “Code” and click on “Download ZIP”.
And download this file: https://static.xzy.cloud/kh3/Engine.7z if you haven’t already.
Extracting and Setup
Once the zip file from GitHub finished downloading, extract the files. I recommend that you extract the files to a directory that has a short path like C:\ue4kh3 or D:\ue4 since UE4 and Windows don’t like long file paths and you’ll get errors during the engine’s setup process.
Extract the Engine directory from Engine.7z to the directory where you extract the UE4 files. It will ask you to replace 3 files. This is VERY IMPORTANT since these files will cook SkeletalMeshes in a way that the game can accept.
Replace the 3 files.
Unreal Engine 4 Setup
Once you installed Visual Studio 2015 and extracted the required files, run the file Setup.bat. A console window will open and the dependencies required for UE4 will install.
If the setup process errors out at 99% like shown in the screenshot below
Ignore it and just close the window. The setup process is done.
After the setup.bat finished running, open “GenerateProjectFiles.bat”. The script will generate a .sln file.
After that’s done, you will see a file called UE4.sln. Open it with Visual Studio 2015.
Inside Visual Studio 2015, make sure that “Development Editor” is selected.
Then in the Solution Explorer window, right click on UE4 and click on Build.
The compilation process will start and depending on your CPU this can take anywhere from 20 minutes to 3 hours. Keep in mind that compiling UE4 is a CPU intensive process.
After UE4 finished compiling, navigate to Engine\Binaries\Win64 and run UE4Editor.exe.
Unreal Engine 4 should now open and you can start working on your mod.