HN
← Back to Projects

Triad of Valor

UE5 co-op MORPG — optimized streaming, rendering, and team workflow tooling for stable play.

A 3D co-op MORPG built in Unreal Engine 5. My work focused on systems-side performance: eliminating world transition stalls, tuning GPU-heavy combat scenes, and building production tooling that kept the team unblocked.
  • Diagnosed main-thread bottlenecks via Unreal Insights and refactored world loading to Asynchronous Level Streaming, reducing transition stalls by 99% (992ms → <16ms).
  • Optimized GPU performance by fine-tuning Lumen and Virtual Shadow Map (VSM) parameters, improving GPU frame time by 42% (40ms → 23ms) in heavy combat scenarios.
  • Developed p4bot (Perforce–Discord automation) to expose file locks, recent commits, and asset availability in real time, saving each teammate 15+ minutes of daily idle time.

Technical Deep Dive

Asynchronous Level Streaming (992ms → <16ms)

Using Unreal Insights, I traced major world-transition hitches back to main-thread loading stalls and refactored the flow to Asynchronous Level Streaming. This reduced transition spikes from 992ms to under 16ms, effectively removing visible stalls during gameplay.

GPU Combat Optimization (40ms → 23ms)

Profiled heavy combat scenes and tuned Lumen and Virtual Shadow Map (VSM) settings to reduce GPU frame time from 40ms to 23ms — a 42% improvement that helped stabilize performance under load.

p4bot: Production Workflow Visibility

Built p4bot, a Discord–Perforce automation tool that exposed who locked which files, who committed what, and what assets were currently free to edit. The result saved each teammate an estimated 15+ minutes of idle time per day.

GPU Profiling: Before vs. After

Profiled with Unreal Insights in a dense combat scene (6 active enemies, full Lumen GI + VSM enabled). The bottleneck was excessive shadow ray counts and a full-resolution Lumen downsample pass running every frame.

MetricBeforeAfterChange
GPU Frame Time40 ms23 ms−42%
Lumen Downsample Factor1 (default)16Tuned
VSM Ray CountDefault4Tuned
Visual RegressionNone✓ Clean