Gildor's Forums

Author Topic: Brickadia  (Read 424 times)
spiritovod
Global Moderator
Hero Member
*****
Posts: 2444


View Profile
Brickadia
« on: March 01, 2025, 04:41 »

Game: Brickadia (steam page)
UE5 version: 5.5
AES key: in the same place as usual (link)

The game doesn't store directory tree for io store packages, as result there are no filenames for respective assets available directly. It's extremely rare situation, probably the third case I'm aware of. Just for experiment raw loading from such packages is now available in the updated specific build from this topic (use game specific override for partial materials support). You can find assets under "Non-indexed" folder and after performing a scan you can actually get something from there. Exported assets will be with internal object names, thus you may be able to find out connections even without full paths.



* Clipboard01.jpg (157.96 KB, 2548x1236 - viewed 145 times.)
Logged
CosmicDreams
Jr. Member
**
Posts: 69


Pak chunky.


View Profile
Re: Brickadia
« Reply #1 on: March 01, 2025, 05:03 »

You mentioned elsewhere that they store a hash for each asset i think, is that hash a hash of the file name or is it generated from something else like the file data?
Trying to brainstorm ways to recover some names using the asset registry
Logged
spiritovod
Global Moderator
Hero Member
*****
Posts: 2444


View Profile
Re: Brickadia
« Reply #2 on: March 03, 2025, 23:34 »

@CosmicDreams: From what I understand, the main problem is that asset registry is storing object names rather than asset names (an asset usually consists of multiple objects). In terms of the engine it's called package, but I prefer asset term to distinguish uasset from external packages like pak. Asset registry consists of export table for objects and probably some mapping for objects to chunks with assets from packages, but not to asset names. That's why you can see linked materials / textures / skeletons in umodel even without resolving paths, because they're imported via hash exports upon resolving dependencies.

It may work if you have for example one mesh in an asset, in that case full path to object will the same as for path to asset, assuming that the asset contains only one object, which is extremely rare. But if an asset consists of two or more meshes, you can't tell how that asset should be called (you can assign any name though, if you're resolving dependencies from hashes rather than names).
« Last Edit: March 03, 2025, 23:42 by spiritovod » Logged
CosmicDreams
Jr. Member
**
Posts: 69


Pak chunky.


View Profile
Re: Brickadia
« Reply #3 on: March 04, 2025, 03:52 »

The asset registry seems to store an object path and a package name and path
It feels like the package path is the path to the uasset
attached picture is the entry for the mesh in the picture you included in the original post


* notepad++_IAb7nRuWhc.png (14.05 KB, 1372x121 - viewed 73 times.)
Logged
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Leviathan design by Bloc | XHTML | CSS