Wednesday at 04:07 PM5 days Hi everyone in the Developers' Corner!I've been porting environments, animations, and assets from KOTOR II into Unreal Engine 5 as a personal deep-dive into classic RPG architecture — specifically studying how a 2004 Odyssey Engine game adapts to a modern rendering pipeline. The full project lives at swkotor.dev if you want to follow along.I wanted to share two technical challenges I'm currently wrestling with, and hear how other devs approach similar retrofitting problems.1. Stationary Light Density — Why I Bypassed LumenAfter early experiments, I moved away from Lumen — it couldn't quite replicate the moody, controlled atmosphere of the original game and felt unnecessarily heavy for this type of geometry. My current pipeline is Baked Lighting + Stationary Lights, which gives excellent shadow stability and performance.The catch: the original 2004 levels relied heavily on emissive textures for "fake" ambient lighting. To preserve the look, I'm using Use Emissive for Static Lighting for the base GI bounce, which works well. But to get proper dynamic shadows on characters and geometry, I still need real Rect Light Stationary sources placed at each fixture.The problem is density. Locations like Nar Shaddaa (301nar) have so many light fixtures that adding a Stationary source for each one immediately hits the overlapping shadow limit — the dreaded red X.Nar Shaddaa DevLog (strictly non-Lumen): YouTubeQuestion: How do you balance emissive-driven GI against real Stationary sources in high-density environments? Shadow faking, distance culling, something else entirely?2. Custom Minimap & Fog of War — Blueprint + Material ApproachSince I ported all the original models, I wanted a navigation system that felt authentic to the original UI rather than a generic widget overlay.The system works by extracting the Local/World bounds of the map plane via Blueprints and feeding those coordinates directly into a Material. The Fog of War eraser uses dynamic coordinate mapping with a RadialGradientExponential node to subtract the fog mask in real-time. It's lightweight, accurate, and way more satisfying to build than a standard UI widget solution. You can see it in action here:Minimap & Fog of War DevLog: YouTubeWould love to hear your thoughts — whether it's managing Stationary light counts in dense scenes, or any clever Material tricks you've used for UI systems. Always happy to learn from how others solve these kinds of retrofitting puzzles :)
Create an account or sign in to comment