Skip to content

Commit 6e87317

Browse files
committed
Added owl mod tut blog
1 parent 8ff8feb commit 6e87317

File tree

10 files changed

+205
-0
lines changed

10 files changed

+205
-0
lines changed
46.8 KB
Loading
271 KB
Loading
29.6 KB
Loading

public/imgs/aa/a/game_folder.png

9.57 KB
Loading

public/imgs/aa/a/golden_ginzo.png

234 KB
Loading
82 KB
Loading
90.4 KB
Loading
94.5 KB
Loading
6.19 KB
Loading
Lines changed: 205 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,205 @@
1+
---
2+
title: Otherworld Legends - Modding Tutorial
3+
published: 2025-05-15
4+
description: 'Modding tutorial for Steam game Otherworld Legends.'
5+
image: ''
6+
tags: [Game]
7+
category: Tutorial
8+
draft: false
9+
lang: en # Set only if the post's language differs from the site's language in `config.ts`
10+
---
11+
12+
[Original tutorial](https://b23.tv/IkX17vZ) (Chinese) written by 咖喱猫扒饭 on Bilibili.
13+
14+
🌟 中文教程点击[此处](TODO: /README_中文.md)。
15+
16+
This modding tutorial is intended only for Steam version Otherworld Legends. If you are targeting Android, you will need
17+
to do a few additional steps to deal with apk. I won't do this unless someone requests it.
18+
19+
Author: Kolyn090
20+
21+
Game version used in this tutorial: v2.9.1
22+
23+
Windows x64
24+
25+
Date: 5/15/2025
26+
27+
**IMPORTANT**: Modding comes with unknown risks, including potential game
28+
instability, corrupted save files, compatibility issues, and even security
29+
vulnerabilities. Always back up your game files and proceed with caution.
30+
Proceed at your own risk – I can't take responsibility if things go sideways.
31+
32+
# Step 1️⃣
33+
First, get AssetStudio.net6.v0.16.47 from [AssetStudio](https://github.com/Perfare/AssetStudio/releases).
34+
Also install [.NET 6.0](https://dotnet.microsoft.com/en-us/download/dotnet/6.0)
35+
into your PC.
36+
37+
Next, get the eight release of [UABEA](https://github.com/nesrak1/UABEA/releases) and get
38+
[Visual Studio 2022 IDE](https://visualstudio.microsoft.com/vs/) the Community version.
39+
On your PC search bar, type "Visual Studio Installer" and open it.
40+
Under Installed, you should see Visual Studio Community 2022. Click Modify.
41+
Enter "Visual C++" in Individual components. You should see a component
42+
called C++ 2022 Redistributed Update. Download and install that. Close your Visual
43+
Studio Installer and reboot your PC.
44+
45+
Also, you are going to need [AddressablesTools](https://github.com/nesrak1/AddressablesTools/releases).
46+
Choose Examples release 2. After that download and install [.NET 8.0](https://github.com/nesrak1/AddressablesTools/releases).
47+
48+
# Step 2️⃣
49+
Navigate to the Steam folder where the game is stored. For example:
50+
```
51+
Local Disk (C:)/Program Files (x86)/Steam/steamapps/common/Otherworld Legends
52+
```
53+
54+
<img
55+
src="/marblestack/imgs/aa/a/game_folder.png"
56+
width="300"
57+
style="display:block; margin: 0 auto;"
58+
alt="game_folder"
59+
/>
60+
61+
The key is that you should see the `.exe` of playable game once you redirect to this folder
62+
but in this case we are interested in the Otherworld Legends_Data folder (which should be in the
63+
same directory as the game).
64+
65+
Open Otherworld Legends_Data -> SteamingAssets -> aa -> StandaloneWindows64
66+
67+
Here is the collection of replaceable game assets. E.g. if you want to change the skin of one of the
68+
heroes, open spriteassetgroup_assets_assets -> needdynamicloadresources -> spritereference.
69+
70+
I will stick with changing hero skin in the rest of the tutorial but you should be able to adapt the knowledge
71+
to other types of asset as well.
72+
73+
<img
74+
src="/marblestack/imgs/aa/a/spritereference_unit_hero.png"
75+
width="300"
76+
style="display:block; margin: 0 auto;"
77+
alt="spritereference_unit_hero"
78+
/>
79+
80+
Search "unit_hero" in File Explorer. You should see many `BUNDLE` files.
81+
Keep in mind that the hero's internal name in the game's code may differ
82+
from their display name in the game. For example. Quan Huying is identified by
83+
quanhuying while Ginzo is identified by seebee. But don't worry, we can apply
84+
AssetStudio to see the underlying assets.
85+
86+
# Step 3️⃣
87+
88+
Extract AssetStudio. Locate `AssetStudioGUI.exe` and run it.
89+
Click File -> Load file. For the sake of this tutorial, I will use Ginzo
90+
as example. In folder spritereference, search for unit_hero_seebee.
91+
Choose the top search result (should be Ginzo's default skin). Open the
92+
asset file in AssetStudio.
93+
94+
<img
95+
src="/marblestack/imgs/aa/a/unit_hero_seebee.png"
96+
width="300"
97+
style="display:block; margin: 0 auto;"
98+
alt="unit_hero_seebee"
99+
/>
100+
101+
In AssetStudio's toolbar panel, locate Asset List. You should now see Ginzo's
102+
Sprites (shown in Preview). However, our main focus here is the file with
103+
Type of Texture2D. It's called unit_hero_seebee. Select the file, in toolbar,
104+
locate Export -> Selected assets. Save the Texture2D to your PC. Close AssetStudio.
105+
106+
<img
107+
src="/marblestack/imgs/aa/a/asset_studio_seebee.png"
108+
width="300"
109+
style="display:block; margin: 0 auto;"
110+
alt="asset_studio_seebee"
111+
/>
112+
113+
In the exported Texture2D folder, you should see a `.png` inside. Modify it
114+
using a pixel art editor software such as Aesprite or docpict, etc. Save your work
115+
as `.png` as well.
116+
117+
<img
118+
src="/marblestack/imgs/aa/a/aseprite_seebee_example.png"
119+
width="300"
120+
style="display:block; margin: 0 auto;"
121+
alt="aseprite_seebee_example"
122+
/>
123+
124+
# Step 4️⃣
125+
126+
Now let's swap game assets. Extract UABEA and locate `UABEAvalonia.exe` and open it.
127+
Click File -> Open. -> Locate the unit_hero_seebee file from earlier and open it.
128+
You should see a popup window. Choose Memory. Now you should see everything loaded into the
129+
software. Here we are only interested in the file with Type being Texture2D. Enlarger
130+
the window to see file Type.
131+
132+
<img
133+
src="/marblestack/imgs/aa/a/uabea_assets_info.png"
134+
width="300"
135+
style="display:block; margin: 0 auto;"
136+
alt="uabea_assets_info"
137+
/>
138+
139+
<img
140+
src="/marblestack/imgs/aa/a/replace_texture.png"
141+
width="300"
142+
style="display:block; margin: 0 auto;"
143+
alt="replace_texture"
144+
/>
145+
146+
Open and select that file. On the toolbar to the right, find Plugins -> Edit texture -> Ok.
147+
Click the Load button and locate your modified version (`.png`) to replace it.
148+
Click Save. In the Assets Info window, also do File -> Save. In the UABEA window, also
149+
do File -> Save. Now you can close UABEA.
150+
151+
# Step 5️⃣
152+
153+
Extract addrtool-example-windows. Open and find `Example.exe`. Make a note on the
154+
location of this program. For example
155+
156+
```txt
157+
"C:\Users\kolynlin\Downloads\AddrTool\Example.exe"
158+
```
159+
160+
Next look catelog.json. On my PC, it's located at
161+
162+
```txt
163+
"C:\Program Files (x86)\Steam\steamapps\common\Otherworld Legends\Otherworld Legends_Data\StreamingAssets\aa\catalog.json"
164+
```
165+
166+
Confirm the existence of this file and record yours.
167+
168+
After you have recorded those two, open up Command Prompt (search it on your PC).
169+
Enter the following command (⚠️This is mine. Remember to change to yours)
170+
171+
```txt
172+
"C:\Users\kolynlin\Downloads\AddrTool\Example.exe" patchcrc "C:\Program Files (x86)\Steam\steamapps\common\Otherworld Legends\Otherworld Legends_Data\StreamingAssets\aa\catalog.json"
173+
```
174+
175+
<img
176+
src="/marblestack/imgs/aa/a/command_prompt.png"
177+
width="300"
178+
style="display:block; margin: 0 auto;"
179+
alt="command_prompt"
180+
/>
181+
182+
:::note[HOORAY]
183+
🎉 That's all for modifying a hero's skin. Have fun with it.
184+
:::
185+
186+
<img
187+
src="/marblestack/imgs/aa/a/golden_ginzo.png"
188+
width="300"
189+
style="display:block; margin: 0 auto;"
190+
alt="golden_ginzo"
191+
/>
192+
193+
---
194+
195+
Permission granted by 咖喱猫扒饭.
196+
197+
<br>
198+
<br>
199+
200+
💗 If you liked this blog, consider [following me on GitHub](https://github.com/Kolyn090/).
201+
202+
<br>
203+
<br>
204+
205+
👾 Happy Gaming 👾

0 commit comments

Comments
 (0)