Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

.uasset to Text

Featured Replies

  • Author
  • Localization

Fracturoid, posted Sun Oct 23, 2016 10:11 am (18277)


Game: Fractured Space (Unreal Engine 4)

I'm trying to extract values from an .uasset file. I opened it in a hex editor, found a bunch of readable strings, so I think half the work is already done.

I found
Code:
42 61 73 65 41 63 63 75 72 61 63 79 44 65 67 72 65 65 73 00 56 90 FE 3A 1B 00 00 00

which my hex editor translates to
Code:
BaseAccuracyDegrees.V.?:....


So I assume this or part of this is numeric:
Code:
00 56 90 FE 3A 1B 00 00 00

I know that the correct value is 0.5

Found a list of values for reference and was trying to match it to known values:
Code:
AccuracyMouseMovementStrength: 2.5
AccuracyShipMovementModifier: 2.5
BaseAccuracyDegrees: 0.5
DamageFalloffAtMaxDistance: 0.9
Interval: 0.5
ProjectileLifespan: 2.5


So I found very confusing results:

Code:
00 64 E2 8E 32 1D 00 00 00 = 2.5
00 95 4F 7E 53 1D 00 00 00 = 0.5
00 5E 67 01 FD 0F 00 00 00 = 2.5
00 07 40 4E F8 19 00 00 00 = 0.9
00 E6 48 5E B9 10 00 00 00 = 2.5
00 F0 1F EE 42 0C 00 00 00 = 0.5


So I guess this is the wrong approach? I'm wondering if the file is structured so that the first half of the file is just keys, and the bottom half of the file (filled with 0s) are the actual values. That's where I am so far.

File attached is the uasset I'm working on.
  • Author
  • Localization

pay2021, posted Wed May 31, 2017 11:18 am (23678)


To open .uasset files you just need to download Unreal Engine editor, make a new project and copy the files you want to open in the folder of your project located in my documents, .uasset can be a model, a texture, etc.
  • Author
  • Localization

saixo, posted Thu Jun 06, 2019 5:36 am (48528)


pay2021 wrote:
To open .uasset files you just need to download Unreal Engine editor, make a new project and copy the files you want to open in the folder of your project located in my documents, .uasset can be a model, a texture, etc.

Sorry for necro post but thats not true. You can't just import uasset files into your own project and edit them.
  • Author
  • Localization

healingbrew, posted Mon Jun 10, 2019 5:01 am (48629)


IDK if it's still needed information but I'll leave this here in case

It depends on engine version.

After 1.14, they split uasset files up in uasset and uexp.
This seems to be a pre-evented uasset file so they're still combined.

As far as I can tell (aside from the FPackageFileSummary header changes)

UAsset files have 3 important parts in the header.
1. An FNameEntryTag list (which is an FString 2x 16-bit integers for case-sensitive and case-insensitive hashes)
2. An FObjectExport list (which defines the UObject models inside of the uasset file)
3. An FObjectImport list (which defines files imported by the UObject.)

An FObjectExport defines where an export starts along with some other fun metadata.
The UObject export is an array with FPropertyTags until it reaches an "None" FName, after that it instantiates the UObject with the remaining data in the export object (if it's something that initializes.) FNames are 32-bit or 64-bit numbers referencing an index in the FNameEntryTag list. FPropertyTags define the property name, type, and size.

Creating a custom parser and serializer is a ton of work because you need to implement a visitor for every type twice (once for UObject and one for an enumerable like SetProperty, ArrayProperty, MapProperty) including game specific types (which is rare.)

You can probably force the editor to import UAsset files, but it will cry about imports and probably break especially with version mismatches.

An important note with FStrings, if the length is negative the encoding is UTF16L so negate it so it becomes positive and multiply it by two to get the number of bytes.
  • Author
  • Localization

blenux, posted Thu Jun 13, 2019 3:02 am (48738)


Yeah once they are cooked you can't just drop the uassets into a project and load them, doesn't work like that, wont show up in the project at all if you put them into your profile content directory, and will come up failed loading assets if you drag and drop in the editor itself.

But would be great if we can extract values of blueprints or something similar to that someday.
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.