What are uexp and ubulk files?

Hey everyone,

Rather than one large asset, these allow us to write an asset’s bulk data (.ubulk) and exports (uexp) out into separate files. This system improves perf in certain circumstances where file read contiguity is lost due to the large size of assets. This feature avoids this by enabling the reader to skip over an asset’s bulk data when seeking to the next file in a series without having to actually have serialized and seeked past that data (since it’s in separate file).

These files aren’t ‘extras’ when the feature is enabled, but rather what used to be a single file is now broken into multiple files.

This system is enabled with the following configuration setting in your engine ini

[Core.System]

UseSeperateBulkDataFiles=True

Furthermore, the event driven loader (EDL) requires split bulk data to be enabled. If EDL is enabled the above setting will therefore be ignored. In 4.15 we introduced the EDL, so separate bulk data was turned on by default. You can see if EDL is enabled with the following configuration setting in your engine ini

[/Script/Engine.StreamingSettings]

s.EventDrivenLoaderEnabled=True

Cheers,

Jonathan

6 Likes