Ripping audio from UE5 is a chore in comparison to other games, and for no apparent reason, let's run a process comparison
Unity
- Download AssetRipper
- Open AssetRipper
- Open the game folder and drag the [GameName]_Data folder to AssetRipper
- Click Export -> Export all Files
- Select a folder to export to
- Done!
Godot
- Download Godot PCK Explorer
- Open Godot PCK Explorer
- Drag the game .exe or game .pck
- Click Extract -> Extract All
- Select a folder to export to
- Done!
Meanwhile, Unreal Engine 5+
- Download FModel
- Open FModel
- Click Directory -> Selector
- Be lucky and have your game preconfigured, otherwise click Add Undetected Game, Give it a name and the game path
- Pray it guesses the UE version otherwise somehow figure out the version of UE5 the game is using, and set it on UE Versions
It is very likely that the game is encrypted, so we have to obtain the AES encryption key
- Be lucky and get the key by googling the name of your game, otherwise use one of the many sketchy tools to extract it
- We now need to obtain the mappings, which FModel seems to need to be able to rip anything, Download Dumper-7
- Open up your game, and inject Dumper-7 with your favourite injector
- Go to FModel, Settings -> Mapping File Patch and select the mapping file which Dumper-7 generated defaults to C:/Dumper-7/
- We can finally start ripping, select the .utoc file on Archives
- Go to folders, GameName, Audio, and open a folder to find sounds to rip
- Go to packages and select the ones you want to rip
- Right click -> Extract in New Tab
- On the window that opens, right click the file list and click Save Playlist
- Find where the files get exported to by clicking on the console output
- You will get .binka files, Convert them to .wav using a sketchy program from some random GitHub thread, that also needed UE5 source code to compile
- Realize the program emits broken .wav files and write a python ffmpeg handler to repair them
- Done!
WHY?!