FPS optimization pipeline for headless Unity simulation

From 21 to 25 FPS: Profiling and Optimizing a Headless Unity Simulation Pipeline

A detailed technical walkthrough of profiling and optimizing a headless Unity simulation from 21 to 25 FPS — covering NVENC GPU encoding, batch camera rendering, GPU instancing, static batching, and the failed URP migration. Every measurement, every dead end, every lesson.

April 4, 2026 · 8 min · Pavel Guzenfeld
Satellite terrain and natural sky in headless Unity simulation

Natural Skies and Satellite Terrain in a Headless Unity Simulation

How I replaced flat brown terrain and solid-color sky in a headless Unity 6 Docker simulation with real satellite imagery, SRTM topography, and a custom panoramic skybox — all fully air-gapped, no runtime network dependency. Includes NVENC GPU encoding, custom shaders, and every dead end along the way.

April 4, 2026 · 12 min · Pavel Guzenfeld
Unity Headless in Docker with GPU, RTSP, and MAVLink

Running Unity 2019.4 Headless in Docker with GPU Rendering, RTSP Camera Streaming, and MAVLink

A detailed technical account of containerizing a Unity 2019.4 drone simulation with GPU-accelerated rendering, dual RTSP camera streaming via FFmpeg/mediamtx, and MAVLink drone control — including every obstacle encountered and how it was solved.

March 19, 2026 · 12 min · Pavel Guzenfeld