02. Anatomy of a Modding Set Up - NellsRelo/OMD3-uSDK GitHub Wiki

Anatomy of a Modding Setup

While the uSDK is set up in the right format for creating OMD3 Mods and Maps, you'll want a distinct OMD3 Mods folder, with extracted assets available, and a place to store your completed mods.

Mapping the .pak files

Orcs Must Die 3’s assets are hidden inside .pak files, Unreal Engine’s native archive format. There is a basic .pak map, identifying which files are inside which .paks, to make for easy editing of just what you need.

Preparations

Before you get modding, there are a few things you’ll want to do first.

Set up your Folders

This is effectively done for you if you’re using the Starter Kit. The core of it, though, is that you’ll need a directory for Mods, Tools, and Unpacked Assets. Keeping things organized will save you a lot of time while modding.

Mods Folder

My Mods folder contains subfolders for each mod I’m working on - whether they’re to be released, or just experimental. They have an src\ Subfolder for the .uassets I’m using in them, as well as Subfolders for any variations I want to make. The root folder has a readme, the .pak file, and a .zip file containing both of them.

The src\ folder’s folder structure includes the OMD\Content\ folders.

Tools Folder

The Tools folder contains all of the tools you need for modding, excluding Unreal Engine and your Image and/or 3D model editor of choice. Typically, this will consist of FModel, UnrealPak, UUU, and QuickBMS. You may have other tools you prefer to use, as well.

Assets Folder

The Assets folder contains all unpacked and extracted assets. I like to keep a copy of each version’s .exe file and the unpacked paks as well, but be mindful of your storage space. I have subfolders for the .paks, the .exe, the .uassets, and the extracted assets, each of them containing a subfolder based on version.

Unpack the .Pak files

Now that you have your set-up ready, you’ll need to unpack the .pak files. You could do this with UnrealPak, FModel, or Asset-Editor, but I generally prefer QuickBMS, as it’s quick and simple to get through each .pak file in bulk.

FModel

Note: Fmodel can also extract certain files as Serialized .json, using a similar process.

  1. Enter each .pak file individually
  2. Right click the root folders(OMD, Engine if present)
  3. Select Export Folder’s Assets Data
  4. Wait for it to complete
  5. Repeat the above with every other default .pak file
  6. Once complete, Move the contents of Tools\Output\Saves to your UAsset folder

QuickBMS

  1. Execute QuickBMS.exe
  2. In the first prompt, navigate to your QuickBMS folder and select unreal_tournament_4_0.4.26d_paks_only
  3. In the second prompt, navigate to your .pak folder and select every .pak file
  4. In the third prompt, select an output directory. 5.Wait for a bit, and it’ll unpack the .uassets into your output folder.

Asset-Editor

Note: This doesn’t appear to work

  1. Open Asset-Editor
  2. Go to Functions->Extract Pak File
  3. In the first prompt, navigate to your .pak folder and select every .pak file
  4. In the second prompt, navigate to an output folder.

Extract content from the .UAssets

Next, we’ll need the assets. FModel can extract some, if not most of the assets, but for this, we’ll want UModel. Open UModel, select your UAssets folder, and check Override Game Detection, picking Unreal Engine 4, and Unreal Engine 4.26 Check Sound under Export-only types. Select OK, and in the “Choose a Package to open” window, right-click “All Packages” and export to your Extraction folder. I typically keep my Texture export as .tga, and my Static Mesh as pskx. Note that while the textures are now ready to be imported into the uSDK, the meshes will need to go through another process. This will be detailed later on.

Explore

TODO: Redo these links once wiki pages exist Look through your UAsset folder in Asset-Editor, and check out your models and textures in your extracted assets folder! There’s a wide chunk of things you can do to start off, whether you’re trying to Edit the Localization Files, Create New Textures and Models, or Make Data Changes to affect gameplay, attributes, and more.