Explanation of the Asset Loading Insights

Hello, I’m profiling the load time of a title, and I’m trying to understand how to interpret the data captured by Unreal Insights when the -loadtime flag is enabled.

I was not able to find any documentation about the tabs that appear in the Asset Loading Insights panel:

  • Event Aggregation
  • Object Type Aggregation
  • Package Details
  • Export Details
  • Requests

Can you please provide any explanation on what these tabs represent, and how they can be used to discover loading issues?

Also, any links to existing documentation/videos would be really helpful.

Thank you

Hey Andrea,

Unfortunately, there is no documentation for these available at the moment. I can give you a bit more info, but in general, each of them provides certain information about the package loader status and the loaded packages.

The “Requests” tab shows requests to the StreamableManager and contains some information for each request to async load one or more assets. Most of the columns should be self-explanatory for this one.

“Export Details” tracks the individual loading events for each asset load, specifically their Create, Serialize and PostLoad times and how much each takes either on the game thread or the async loading thread. This is useful to debug the individual steps it takes to load an asset to find specific outliers, or to find assets that take a large amount of time on the game thread.

“Package Details” provides some higher level stats on each asset/package being loaded, e.g. the amount of objects in the package, data sizes and also loading times per package.

“Object Type Aggregation” groups the detailed stats by asset type, so you can easily see the number of loaded assets per class and statistics about their load time.

“Event Aggregation” groups the events by package, but I’m not sure how exactly the count is computed, it might be the sum of all package requests, even if it’s loaded only once.

In practice most of this information is very specific and rarely needed, but you can use the “package details” and exports tabs to find expensive assets and the “Loading - Gamethread” and “Loading - AsyncLoadingThread” tracks in the timing view are intended to provide an easy way to find out which asset is being loaded at a certain point in time, e.g. when seeing long postload times on the gamethread.

I hope this gives at least some idea of what the intention behind these tabs is.

Kind Regards,

Sebastian