Debugging

Profile Memory Usage by Category with LLM

Unreal's Low Level Memory Tracker (LLM) breaks down live memory consumption by stat group: textures, meshes, audio, RHI, and more. Two commands and a launch flag give you a real-time on-screen readout.

memoryllmprofilingperformancestat

When a build is consuming too much memory and you need to know where it is going, stat LLMFULL gives you the breakdown by category live in the viewport.

Setup

Add -LLM to your launch arguments to enable the tracker:

bash
UnrealEditor.exe YourProject.uproject -LLM

Console Commands

bash
stat LLM        // High-level categories (textures, meshes, audio…)
stat LLMFULL    // Full breakdown with sub-categories
Run stat LLMFULL in the Unreal console (backtick key) while the game is running to get the live on-screen overlay.

Key Categories to Watch

  • Textures: often the biggest consumer; check streaming settings if high
  • RHI: GPU resource allocations mirrored on CPU
  • Meshes: static and skeletal mesh vertex/index data
  • Audio: decoded audio buffers kept in memory
  • UObject: Blueprint and asset object overhead
  • EngineMisc: catch-all; worth drilling into if unexpectedly large

Additional Stat Commands

bash
stat unitgraph    // Frame timing graph
stat memory       // Simpler memory overview without LLM

LLM has a small performance overhead but is the most precise way to understand memory usage across platforms. It works in editor, PIE, and standalone game modes.