So you enjoy OW and would like to mod it ?
First Step : Read
- A must read is Dale's excellent tutorials at http://dales.world/
- Get a taste of the discussions in #modding channel in Old World Discord which will be from now on your favourite channel !
Second Step : Create a first mod
- First, understand the following : Old World does NOT read asset from files on your hard disk (except the files in the mods). All assets and XML files used by the main game are taken from ASSET BUNDLES and loaded at start. Modifying the (...)Epic Games/Old World/Reference/XML/ files will have NO EFFECT (They are just ... well, reference).
- So the only way to mod is through a (...)/Mods/Your_Mod folder.
But in order to create it, we advise you take the following steps
- in OW start menu go to the Mods screen
- make sure you are logged as registered user. If not register (upper right)
- Then go in UPLOAD tab and CREATE NEW MOD. Fill the information. It will create the folder and a ModInfo.xml profile file. No need to upload build as you yet have none.
- click the OPEN MOD FOLDER (or locate it outside of OW, as the newly created Your_game_working_dir/Mods/YOUR_MOD). Into YOUR_MOD folder, create an Infos subfolder.
- In game MODS -> MANAGE tab, you can now select your mod ON and OFF
- mod.io platform can sometimes be a bit tricky. Make sure to go step by step, in order to successfully register as a user and then create mod profile. If any error check in The Old World mod.io site if your mod is registered. @Dale is managing the mod.io site so in case of doubt contact him on discord.
Third Step : Start hacking XML
IMPORTANT : install a TEST build (install from Epic) and toggle DEBUG MODE activated in options.
General workflow is to copy a file(s) from (...)Epic Games/Old World (Version)/Reference/XML/original_name.xml, paste it in Infos/ and rename it to original_name-suffix.xml, then edit it, save it and test for errors.
suffix can be :
- -add to add a new feature not present in game files (more common like nation-add.xml to add a faction)
- -append to add features into already present assets in game files (like in assetGroup-append.xml to add images in portraits, crests, etc...)
- -change to modify some existing features present in game files
Best practise is to start by installing an existing mod doing something similar to what you want your mod to do, then use it as a reference to copy and edit the same files in your mod.
All text info is usually contained in a text-original_name-suffix.xml into <Language>your text here</Language> tags
THEN starts the fun : Debugging !
Launch OW, then go in Mods, and activate your mod. Return to start screen.
Open Your_game_working_dir/Logs/output.txt and check for errors...
Solve them one by one...Debugging your mod
You may want to use the OW XML Tags Reference
Once you have no error, create a new game an test your mod. It is always better to test a new version with a new game as some aspects do NOT update if loaded from a save file. Depending on the mod you may need the Game Editor to add quickly units or improvement. This is where you can start to tweak your mod and see the results.
If you are satisfied with your tests, now you can go to the MODS screen, UPLOAD tab, and UPLOAD BUILD to get users and feedback.
Fourth Step : start playing with Unity to add Sprites (Images)
As of today, Old World is developed with Unity 2020 3 14f1 so this is the one you want to install
You will need also some image editor. Use your favourite and if you have none use Gimp ;-) All images should be in PNG format, if possible sized to multiples of 4 pixels.
You may also need the excellent AssetStudio freeware program that allows you to scavenge the game bundles from (...)Epic Games/Old World (Version)/OldWorld_Data/ directory
Once you have the correct version of Unity installed and working in your computer, launch the game and install "OW Assets Template" mod from within the game. This is NOT a mod, but a unity template directory created by Dale.
Create a new Unity project named YOUR_MOD. Best practise is to have a different project for every mod you do. Then close Unity, delete your YOUR_MOD/ folder contents and paste/extract the OW Assets Template into it (following Dale's instructions). Restart Unityhub, add the YOUR_MOD project and start it.
First you will need to install the correct version of Unity's TextMeshPro (TMP) package, which is currently 3.06. If you never used unity before, read some tutorials about how to do that. Once TMP installed, use menu to install the TMP basic components also.
Now you should have your system ready to follow Dale's instructions in http://dales.world/CustomAssets.html
Best Practise is to start adding a single image first, check for errors Debugging your mod, and have it loaded into the game. Then repeat the same process for the other images.