Streaming & Memory Concepts
SmartRefs is designed to solve Unreal Engine's primary memory scaling challenge: Hard Reference Cascades.
The Hard Reference Problem#
When asset A has a hard reference to asset B, and B has a hard reference to C:
- Loading asset A into memory forces the engine to synchronously load B and C as well.
- In a game with 50 weapons, picking up one gun could accidentally force all 50 guns into RAM!
The Soft Reference Solution#
Soft references store only an asset's string path in memory (costing virtually zero bytes). The asset is only loaded from disk when explicitly requested via SmartRefs.
Click to expand
Priority Queues#
SmartRefs lets you assign priority to async loads:
- High: Critical assets needed immediately (such as the player's primary equipped weapon).
- Normal: General environmental props and ambient audio.
- Low: Background pre-loading for upcoming levels or menus.