
Performance Engineer
Posted 1 hour ago

Posted 1 hour ago
This is a fully remote position, open to applicants in Canada.
β’ Lead the development of essential systems and performance initiatives from the planning and design stages through to implementation and optimization.
β’ Collaborate closely with engineers and cross-functional teams, providing technical leadership and ownership of features.
β’ CPU & Game Thread Optimization (~25%): Analyze and enhance the game thread, render thread, and RHI thread in Unreal Engine β identify cross-thread bottlenecks, tick overhead, and inefficiencies in the task graph.
β’ Troubleshoot and resolve hitching issues: address garbage collection pauses, streaming stalls, async loading conflicts, and spikes in physics simulation.
β’ Minimize tick overhead: identify UObjects and ActorComponents with unnecessary tick enabled, excessive work in critical paths, and incorrect tick group assignments.
β’ Optimize gameplay and engine code at the C++ level β not only profiling but also implementing and deploying the fixes.
β’ Implement custom profiling markers (SCOPE_CYCLE_COUNTER, CSV_SCOPED_TIMING_STAT, custom Unreal Insights channels) for ongoing regression detection.
β’ GPU & Rendering Pipeline Optimization (~25%): Analyze rendering performance using RenderDoc, PIX, NSight, Xcode GPU Frame Capture, and Unreal's GPU Visualiser β isolate draw call overhead, overdraw, shader complexity, and GPU memory bandwidth.
β’ Collaborate with the rendering team to improve material pipelines: reduce shader permutations, tune LOD, optimize occlusion culling, and enhance distance field shadows.
β’ Identify and alleviate GPU memory pressure: manage texture streaming configurations, render target pooling, and VRAM budget per platform.
β’ Possess a deep understanding of rendering architecture to distinguish between CPU-bound, GPU-bound, and bandwidth-bound frames and implement the correct fixes.
β’ Address platform-specific GPU constraints: recognize the significant differences in GPU architecture between PS5/Xbox Series and PC; be aware of the unique thermal and bandwidth profiles of mobile (Adreno, Mali, Apple GPU).
β’ Memory Profiling & Leak Detection (~20%): Ensure memory budget compliance on client projects: monitor resident set size, texture memory, audio memory, and engine overhead against platform limits.
β’ Detect and eliminate memory leaks in C++ using automated tools (ASan, Valgrind on non-console platforms, custom allocator hooks) and Unreal's LLM (Low-Level Memory tracker).
β’ Manage memory fragmentation: comprehend pooled allocators, custom memory arenas, and when Unreal's default allocation strategy leads to fragmentation during prolonged sessions.
β’ Console memory challenges are particularly demanding: operate within fixed RAM ceilings without swap capabilities. Experience in shipping under these constraints is essential.
β’ Develop memory regression tests that run in CI β ensuring ongoing compliance, not just one-time snapshots.
β’ Networking / Latency Diagnostics (~10%): Analyze and optimize Unreal's replication system: identify bandwidth-heavy actors and components, adjust replication frequency, and prioritize replication effectively under load.
β’ Assess client-server latency: differentiate network latency from server frame time and client simulation costs β do not conflate the two.
β’ Familiarity with NetStat, Unreal's network profiler, and packet-level capture when necessary.
β’ Scope: support multiplayer engagements where networking poses a performance challenge β not the primary focus on pure networking architecture.
β’ Profiling Tool Development & Automation (~20%): Create internal profiling tools in C++ (UE plugins) and Python β automate performance validation scripts, integrate regression detection with CI, and establish custom Unreal Insights data channels.
β’ Write automated performance regression tests: capture baselines, set threshold alerts, and visualize trends β ensuring regressions are detected during the build process, not during client reviews.
β’ Enhance developer-facing profiling UX: simplify the process for other engineers to identify their own bottlenecks without requiring specialist support.
β’ Document profiling methodologies and tool usage: enable other engineers to replicate analyses without the need for knowledge transfer sessions.
β’ A minimum of 5 years of professional game engineering experience, with at least 3 years in a dedicated performance, engine, or low-level systems role.
β’ At least 2 commercially released titles where performance was a clearly defined area of ownership β not a general engineering role with some profiling involvement.
β’ Proficiency in C++ at a deep level: understand memory layout, cache efficiency, branch prediction, SIMD, and the impact of compiler optimization decisions on runtime behavior.
β’ Expertise in Unreal Engine 5 profiling: fluent in Unreal Insights, Stat commands, LLM, and GPU Visualiser β not just familiar but experienced in using them to identify real problems in actual projects.
β’ Cross-platform experience: have shipped on at least two types of platforms (PC + console, or console + mobile) and comprehend the distinct constraint profiles.
β’ Proficient in Python: able to write automation scripts, integrate with CI, and process data for performance telemetry β not a Python developer but capable of handling Python-related tasks.
β’ Structural fix mindset: capable of profiling, identifying root causes, and implementing C++ fixes. Does not stop at merely providing recommendations.
β’ Able to articulate a performance issue to a gameplay engineer or producer without requiring them to understand the intricacies of the GPU pipeline.
β’ **Preferred**
β’ Experience with console certification performance submissions: has prepared and successfully passed performance gates for Sony/Microsoft.
β’ Mobile performance experience on Android (Adreno/Mali/Dimensity) and/or iOS (Apple Silicon GPU) β knowledgeable about thermal throttling, tiling architecture, and bandwidth constraints.
β’ Experience with custom allocator or memory pool implementations in C++.
β’ Knowledge of shader authoring: HLSL/GLSL fluency sufficient to read shaders and identify unnecessary ALU or texture sampling costs.
β’ Familiarity with Tracy, Optick, or custom in-house profiling frameworks beyond Unreal's built-in tools.
β’ Experience optimizing Nanite, Lumen, or other UE5-specific rendering features at an engine-level depth.
β’ This is a full-time employment position offering standard benefits in the province of Quebec.
OpenRouter
Get handpicked remote jobs straight to your inbox weekly.