This article is reposted from ERU Blog
Tools, ship name comparison table Important notice at the front: any unpacking must be mindful of the use of the resources. To respect the copyright of the work, please do not use it for commercial purposes or distribute it widely!
This post only provides tutorials and experience, no resources.
I spent more than 4 days exploring before finally figuring out the data in the packages. So far, except for the 3D models (which can already be extracted but not yet tested), all other resources can be successfully extracted.
Overall flow (table of contents):
PAK package unpacking Unreal Engine 4 resource extraction (CG get~) Spine animation extraction* 3D model construction* (not yet available, will be updated eventually)
Irrelevant exploration text will be collapsed, so readers who only want the tutorial can rest assured.
The tools used in this article will come with both official and cloud drive download links. I hope you can support official downloads. Files on the cloud drive may not be updated in a timely manner, please understand.
1. Cracking the PAK
Perhaps out of luck, or perhaps out of “self-awareness”, Compile Heart did not encrypt ALC’s data packages, which made unpacking extremely simple. There were no pitfalls in this step, so there’s no exploration text.
Prepare the unpacking tool QuickBMS (official, cloud drive) and the UE4 unpacking script (same official link, cloud drive).

Double-click “quickbms.exe”, then select the script, the PAK data package (usually located in ”~\Azur Lane Crosswave\Azurlane\Content\Paks”), and the unpack location (where the resources will be saved). Wait… Done!
2. Breaking into UE4
ALC uses the UE4 (v4.21.2.0) game engine, which means all resource files are “encrypted” into uasset, uexp and other files. Restoring these to their original files is the core task of this stage.
Rant I made the mistake of selecting all the unpacked resource files when using umodel to pick the game path, and the analysis alone took over half an hour… Also, umodel is not very stable, it crashed at least 30 times on my machine. And it can’t extract all files, which really screwed me over…
-
Prepare the extraction tool UE Viewer (official, cloud drive).
-
Double-click “umodel.exe”, configure the parameters as shown in the figure. The path is up to you, but it is not recommended to select the root path (Content), otherwise it will take a long time. Below I list some of the resources in the subdirectories, so you can choose the path according to your needs. Finally click “OK” and wait for the processing to finish. (The command prompt window will show nothing, so please be patient)
Battle: contains various 3D models and 2D UI designs from battle scenes.
Event: contains various illustrations (standing art) and CG from VN (visual novel) interfaces.
Sound: contains all BGM, SE and Voice (voice acting) in the game.
System: contains UI design files of the game’s main page.
World*: contains resource files for the world scenes in the main story, including map layouts and 2D animated chibi characters. -
After processing is complete, a resource selection window pops up. Find your target in the directory tree on the left, then double-click the resource you’re interested in on the right to preview it. It is recommended to preview larger files, which are usually images, models, or music.

-
After previewing, you can export directly from the “Tools” menu in the previewer, or batch-select the files to export in the file browser window, click “Export” below, choose the path and image format (only affects image files), then confirm the export.

Note: UE Viewer can only export some resource files; certain data files cannot be recognized or exported.
Usually, if there is no real need, you can stop here. Only a stubborn person like me would go on to the content below…
3. Oh, the chibi characters are so cute and they even move, I’m in love, I must extract them!~~
Just for fun, this section is mainly about extracting the chibi characters from ALC’s map scenes. I spent 70% of my time crawling out of this pit. I gained a lot of experience and also want to thank the open-source authors who provided amazing tools.
In this section, experience travels with you.
Life experience (click to view) At first, I spent half an hour analyzing the data package file structure before finding the path ”~\Azurlane\Content\World\Spine”. I thought it would be something like CG, but when I opened it with Umodel (UE Viewer) - Ch001.png
[Cardiac arrest] Ugh, this is painful… It feels exactly like when I unpacked CS1.6 material files six years ago.
- Analysis shows that this kind of 2D model is designed with the Spine software. Each model includes json1, atlas1, png*1, and the unpacked path is ”~\Azurlane\Content\World\Spine”. “Ch001” is Shimakaze, and “Ch002” is… uh, who is this?

Is it Ayanami…? It must be her, right? Hey, don’t hit me!
If you learn this, you can extract the remaining 52 by yourself. Explore on your own~~ (In theory, every secretary ship has one)
- Prepare a text editor (I blindly recommend VS Code and Sublime Text 3; Notepad++ is not recommended because it’s too free-form), and Spine Viewer WPF (author: kiletw).
Note: SpineViewerWPF requires .NET Framework 4.7.2 and Microsoft XNA Framework Redistributable 4.0 as prerequisites.
Experience +1 (click to view) This step is quite hard. Spine Viewer works surprisingly well. It had a few small bugs, but the author fixed them quickly. I really have to thank him, otherwise I might have had to buy the original Spine. (The trial version can’t export images, and the base version costs $69…) Sadly, I only found this thing at the very end. Fortunately, your time won’t be wasted.
-
Using the method from section 2, get Ch001.png from “
\Azur Lane Crosswave\World\Spine\Chxxx\Textures” through umodel (xxx stands for a number; to avoid confusion I’ll use 001 below, since little Shimakaze is so cute, she’s perfect for practice). -
A magical and crucial step. Use File Explorer to navigate to ”~\Azurlane\Content\World\Spine\Ch001”, open “Ch001.uexp” with a text editor, and you’ll see the content shown below. (It may lag a bit)

Copy the text above the dividing line (a row of garbled characters). Ignore the garbled text at the very top. Using Shimakaze as an example, copy from “Ch001.png” to “index: -1”. Create a new text file, rename it to Ch001.atlas, paste the content in, and save.
Then copy the text below the dividing line, ignoring the garbled text at the bottom. Again using Shimakaze as an example, copy from ”{“skeleton”:” to ""angle”:-0.05}]}}}}}”. Be aware that display bugs in the editor may cause the copy to be incomplete.

Create a new text file, name it Ch001.json, paste the content in, and save.
It is recommended to move them all to the same folder for easier processing. Also, a shoutout to QTTabBar.

Painful experience (click to view) Once I knew it was a Spine model, I racked my brain trying to figure out where Compile Heart hid the json. At the time, I spent a whole night searching with umodel and couldn’t find it. I did spot a clue in the preview window, but the problem was - I simply couldn’t export it!!
Man, I was really getting angry. While browsing the unpacked files, suddenly an “Azurlane.uproject” caught my eye. Holy cow, isn’t this ALC’s project file! I felt the dawn of victory shining on me, and quickly double-clicked it - only to get an error…
Well, that’s that. This dawn of victory was so dazzling it nearly blinded me. Then I went surfing online, but I almost lost all confidence. Until one day, when I tried to copy the filename of “Ch001.uasset”, I accidentally double-clicked and opened it…
?? The json and atlas I’d been dreaming of were like two sparkling diamonds in a sea of garbled text! Opening the “Ch001.uexp” that was right next to it revealed the scene in the tutorial. I was almost in tears… All the hard work paid off!
Next I’ll split this into two cases, 5. the rich camp (those who bought the full Spine version) and 6. the poor camp (like me), described in two different colors.
Due to personal financial constraints, the following steps may not be accurate; defer to Spine’s customer service.
5-1. Use the power of money - buy Spine!
5-2. Create a new project in Spine, choose “Import Data”, and import Ch001.json. Then choose “Texture Unpacker”, import Ch001.atlas as the atlas file, make sure Ch001.png is in the same folder, select the output folder and confirm.
5-3. Put all the exported individual images together with Ch001.json, and you can preview them in Spine. Explore more features yourself; I won’t go into detail here, since this isn’t the method this tutorial is trying to convey.
5-4. Choose to export, and pick from a variety of image and video formats.
- Continue from step 4. Double-click to open “SpineViewerWPF.exe”, select “3.7.83” in the “Use Version” menu (note it’s not the latest 3.8.x). Then click “File -> Load Spine”, select the path of Ch001.atlas, make sure the png and json are in the same folder, and you’ll see the screen below.

In the “Anime” section on the left, you can select different animations. A character usually has multiple animations (for example, Shimakaze has 3). Below are the playback controls, a screenshot button (camera key), and Gif export (camera/video key).
That’s right, freeloading is that simple~~ But exploring this path wasn’t simple at all…
A word of warning: exporting Gif consumes a lot of memory, so make sure you have enough free memory, or the program will crash.
Now let’s look at the hardship of the exploration journey—— At first I used the Spine trial version, which can import json data files. However, Spine doesn’t recognize atlas, and the “Texture Unpacker” feature isn’t available in the trial version. As a result, I only had the skeleton with all materials lost… It was a dead end.
Then I started thinking about splitting the atlas (that big png). I searched online for nearly two days and tested all kinds of software: Skeleton Viewer, Texture Packer, Sprite UV, Gdx Texture Packer, Dragon Bones Pro, and so on. Finally I found “splitAtlas.py”, though I no longer have the original source. It successfully split the big image for me; I was nearly moved to tears back then. It’s hard to put into words - no one can understand the bitterness, and text can’t describe it at all. Those days were already in the countdown to returning to school, and how I wished to achieve something before school started! At last——
Tears of joy - I finally saw the finished product outside the game!! Even though it couldn’t be exported, it was enough. It’s not that I never thought of finding a cracked version of Spine, but this design software is too niche, so no one has cracked it. Maybe it’s also because of the online activation that makes it hard to crack. I also tried an alternative, Dragon Bones Pro. But it had a bug that stripped poor Shimakaze of her hair… (ffs!! Whose image is it ruining?!) Photo of the victim:
In the very end, I saw the real light - Spine Viewer WPF!
Thank you for reading this far. Wishing you smooth extraction.
Of course, if any of you know how to use Spine Web, feel free to contact me. I simply can’t figure this thing out. This is a test URL I set up: http://sxj.mcmod.cn/123.html I don’t know why it just doesn’t display…
By the way, this silly Shimakaze, she’s mine. Be polite, no fighting over her.
Finally, there’s an easter egg~ Though unrelated to the tutorial, it’s quite fun.
[Cardiac arrest] Ugh, this is painful… It feels exactly like when I unpacked CS1.6 material files six years ago.
Man, I was really getting angry. While browsing the unpacked files, suddenly an “Azurlane.uproject” caught my eye. Holy cow, isn’t this ALC’s project file! I felt the dawn of victory shining on me, and quickly double-clicked it - only to get an error…
Well, that’s that. This dawn of victory was so dazzling it nearly blinded me.
Then I went surfing online, but I almost lost all confidence. Until one day, when I tried to copy the filename of “Ch001.uasset”, I accidentally double-clicked and opened it…
?? The json and atlas I’d been dreaming of were like two sparkling diamonds in a sea of garbled text!
Opening the “Ch001.uexp” that was right next to it revealed the scene in the tutorial. I was almost in tears… All the hard work paid off!
Then I started thinking about splitting the atlas (that big png). I searched online for nearly two days and tested all kinds of software: Skeleton Viewer, Texture Packer, Sprite UV, Gdx Texture Packer, Dragon Bones Pro, and so on.
Finally I found “splitAtlas.py”, though I no longer have the original source. It successfully split the big image for me; I was nearly moved to tears back then.
It’s hard to put into words - no one can understand the bitterness, and text can’t describe it at all. Those days were already in the countdown to returning to school, and how I wished to achieve something before school started! At last——
Tears of joy - I finally saw the finished product outside the game!! Even though it couldn’t be exported, it was enough.
It’s not that I never thought of finding a cracked version of Spine, but this design software is too niche, so no one has cracked it. Maybe it’s also because of the online activation that makes it hard to crack.
I also tried an alternative, Dragon Bones Pro. But it had a bug that stripped poor Shimakaze of her hair… (ffs!! Whose image is it ruining?!) Photo of the victim:
In the very end, I saw the real light - Spine Viewer WPF!