CPU & Game Thread Optimisation (~25%)
• Profile and optimise the game thread, render thread, and RHI thread in Unreal Engine — identifies cross-thread bottlenecks, tick overhead, and task graph inefficiency
• Diagnose and resolve hitching: garbage collection pauses, streaming stalls, async loading conflicts, physics simulation spikes
• Reduce tick overhead: identifies UObjects and ActorComponents with unnecessary tick enabled, unnecessary work in hot paths, incorrect tick group assignments
• Optimise gameplay and engine code at the C++ level — not just profiling and handing recommendations to another engineer; writes and ships the fix
• Instruments custom profiling markers (SCOPE_CYCLE_COUNTER, CSV_SCOPED_TIMING_STAT, custom Unreal Insights channels) for ongoing regression detection
GPU & Rendering Pipeline Optimisation (~25%)
• Profiles rendering performance using RenderDoc, PIX, NSight, Xcode GPU Frame Capture, and Unreal’s GPU Visualiser — isolates draw call overhead, overdraw, shader complexity, and GPU memory bandwidth
• Works with the rendering team to optimise material pipelines: shader permutation reduction, LOD tuning, occlusion culling, distance field shadow optimisation
• Identifies and resolves GPU memory pressure: texture streaming configuration, render target pooling, VRAM budget management per platform
• Understands the rendering architecture deeply enough to distinguish CPU-bound vs GPU-bound vs bandwidth-bound frames and route the fix correctly
• Targets platform-specific GPU constraints: the PS5/Xbox Series GPU architecture differs meaningfully from PC; mobile (Adreno, Mali, Apple GPU) has its own thermal and bandwidth profile
Memory Profiling & Leak Detection (~20%)
• Owns memory budget compliance on client engagements: tracks resident set size, texture memory, audio memory, and engine overhead against platform limits
• Finds and eliminates memory leaks in C++ using both automated tooling (ASan, Valgrind on non-console platforms, custom allocator hooks) and Unreal’s LLM (Low-Level Memory tracker)
• Manages memory fragmentation: understands pooled allocators, custom memory arenas, and when Unreal’s default allocation strategy creates fragmentation under long session times
• Console memory work is the hardest version of this: fixed RAM ceilings with no swap. Has shipped inside those constraints.
• Builds memory regression tests that run in CI — not just point-in-time snapshots
Networking / Latency Diagnostics (~10%)
• Profiles and optimises Unreal’s replication system: identifies bandwidth-heavy actors and components, tunes replication frequency, prioritises replication correctly under load
• Diagnoses client-server latency: distinguishes network latency from server frame time from client simulation cost — does not conflate them
• Familiar with NetStat, Unreal’s network profiler, and packet-level capture when needed
• Scope: supports multiplayer engagements where networking is a performance constraint — not the primary discipline on pure-networking architecture
Profiling Tool Development & Automation (~20%)
• Builds internal profiling tools in C++ (UE plugins) and Python — automated perf validation scripts, CI-integrated regression detection, custom Unreal Insights data channels
• Writes automated performance regression tests: baseline capture, threshold alerting, trend visualisation — so regressions are caught in the build, not in the client review
• Builds or improves developer-facing profiling UX: makes it easier for other engineers on the engagement to find their own bottlenecks without specialist involvement
• Documents profiling methodology and tool usage: other engineers can reproduce the analysis without a knowledge transfer session