unreal-insights-profiling

Capture and analyze Unreal Engine performance traces to isolate CPU, GPU, memory, and network bottlenecks.

Updated May 28, 2023
One-click install
npx skills add https://github.com/steveulrich/ProjectB --skill unreal-insights-profiling-steveulrich
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: unreal-insights-profiling
Source: https://github.com/steveulrich/ProjectB/tree/main/.cursor/skills/unreal-insights-profiling
Command: npx skills add https://github.com/steveulrich/ProjectB --skill unreal-insights-profiling-steveulrich

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Diagnosing frame-time spikes, hitches, memory growth, and bandwidth issues in Unreal Engine 5.8 is difficult without a disciplined measurement process, and naive profiling often produces misleading conclusions. This Skill enforces a rigorous capture-and-compare workflow so performance claims are backed by trace evidence rather than guesswork. ## Core Features & Use Cases - Structured triage workflow: Establish a capture contract (platform, build, workload, budget), classify the bound with stat unit, then escalate to the narrowest trace channels for the hypothesis. - Domain-specific references: Dedicated guides for Timing Insights CPU analysis, GPU and render-thread attribution, hitches/loading/GC, Memory Insights, Networking Insights, Task Graph, and Slate UI traces. - Regression verification: Baseline-versus-candidate comparison methodology with percentile metrics, plus headless Unreal Insights export commands for CI automation. - Use Case: A game hitches when entering a new region. Use this Skill to set a hitch threshold, capture a bookmarked trace with loadtime and file channels, identify the blocking asset load, apply one fix, and verify the before/after frame times against the budget. ## Quick Start Use the unreal-insights-profiling skill to diagnose why my Unreal Engine 5.8 game drops below 60 fps during combat and verify the fix with a before/after trace comparison.

Frequently Asked Questions about unreal-insights-profiling

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find CPU vs GPU bottlenecks in Unreal Engine?▼

Run stat unit and stat unitgraph in a Development or Test packaged build, then compare Frame time against Game, Draw, RHIT, and GPU timings. Escalate to Timing Insights CPU tracks or profilegpu only after the bound side is identified, since FPS alone cannot distinguish them.

How to capture a trace with Unreal Insights?▼

Launch the game with a narrow channel set such as -trace=default,cpu,frame,bookmark, or start a runtime capture with Trace.File followed by Trace.Bookmark markers and Trace.Stop. Files are written under Saved/Profiling unless an explicit path is given.

Why does my Unreal game hitch when loading assets?▼

Hitches on first asset use typically come from async loads, shader/PSO readiness, or construction work blocking the Game thread. Capture cpu,frame,bookmark plus loadtime or file channels around the trigger and correlate Asset Loading events with Game-thread waits.

Can Memory Insights trace allocations after the game has started?▼

No, memory allocation tracing must be enabled from process start with -trace=default,memory in a Development build. Late connect cannot reconstruct allocations made before the memory channel was active, so capture startup when startup allocations matter.

What trace channels should I enable for networking profiling?▼

Start each client with -trace=net -NetTrace=1 and choose the lowest verbosity that answers the question. Inspect packet sizes, object/property/RPC content, and Net Stats before raising verbosity, since tracing adds CPU, memory, and bandwidth overhead.

When should I not trust PIE or editor profiling numbers?▼

PIE and editor numbers include editor-only overhead and do not represent shipping behavior. Profile a Development or Test packaged build on the target hardware, and never use Debug builds, since their timing characteristics differ fundamentally from optimized configurations.