Engineering Blog

    Last Week in Unreal

    A weekly analysis of Unreal Engine commits: what changed in the engine, and what it means for teams building and shipping on Unreal.

    Join the Newsletter

    Get the latest insights on build optimization delivered straight to your inbox.

    Latest Articles

    Last Week in Unreal: UE5 Stopped Counting (September 14 to September 20, 2026)
    Last Week in Unreal

    Last Week in Unreal: UE5 Stopped Counting (September 14 to September 20, 2026)

    963 commits on ue6-main, and the one that matters most is a single file. A static_assert now makes any further append to the UE5 object version enum fail to compile, handing the engine’s global package version to UE6 in the same serialized slot. The same week, four months of cook determinism work was gathered into the 5.x stream in one changelist, and Epic’s new order-independent transparency implementation landed on both branches.

    VS
    Venkat S
    Last Week in Unreal: The Cook Never Cached (September 7 to September 13, 2026)
    Last Week in Unreal

    Last Week in Unreal: The Cook Never Cached (September 7 to September 13, 2026)

    727 commits on ue6-main, and the two that matter most are four files between them. A class default object minting a GUID in its constructor, and a component writing to itself during serialization, both made native class hashes differ between identical cooks, so dependent blueprints never cached and recooked every time. Meanwhile Epic shipped an agent-facing tool surface into the editor, including a plugin that reads your Codex and Claude config directories, and the renderer deleted a console variable along with legacy HZB occlusion culling.

    VS
    Venkat S
    Last Week in Unreal: The Defaults Moved (August 31 to September 6, 2026)
    Last Week in Unreal

    Last Week in Unreal: The Defaults Moved (August 31 to September 6, 2026)

    862 commits on ue6-main, and the two most consequential are one-line commits nobody announced: Live Coding 2 is on by default, and the input thread is enabled on game input platforms. Zen 5.8.21 changes what /health/ready means, so CI probes pointed at it will start reporting healthy servers as down. The renderer’s packed primitive index is gone along with FScene’s sorted-order invariant, which is the week renderer forks feel. And three unrelated systems hit the same worker-starvation deadlock.

    VS
    Venkat S
    Last Week in Unreal: Same Fix, Different Branch (August 24 to 30, 2026)
    Last Week in Unreal

    Last Week in Unreal: Same Fix, Different Branch (August 24 to 30, 2026)

    918 commits on ue6-main, and the FScene-to-Scene-Extensions decomposition reached ray tracing specifically for a seventh straight week, with UE_INTERNAL dropped from a key header, a signal the API is stabilizing. One engineer carried Unreal Build Accelerator’s correctness work for a fourth straight week, and a second engineer shipped 23+ commits of Unreal Toolbox investment nobody was tracking. The AI editor assistant’s background tool-call mechanism relanded after repeated backouts. And a Sequencer camera-shake fix shipped successfully on ue5-main after one backout, but stayed reverted on ue6-main with no reland in this week’s window: same patch, opposite outcome by branch.

    VS
    Venkat S
    Last Week in Unreal: Infrastructure Catches Up With Itself (August 17 to 23, 2026)
    Last Week in Unreal

    Last Week in Unreal: Infrastructure Catches Up With Itself (August 17 to 23, 2026)

    960 commits on ue6-main, and Unreal Build Accelerator carried the week again: RAD Linker bring-up, two Wine remote-build correctness fixes, and a storage overhaul all landed in the same seven days, with about a fifth of the week’s high-interest commits from one engineer. AVBOIT shipped as the new default transparency method behind an off-by-default flag, LumenRef’s early-termination pass roughly doubled its performance on NVIDIA hardware, and a batched Mass entity-creation path cut churn-test frame time 18% with real benchmark numbers attached. Two changes, an EnablePlugins build warning and an MVVM crash fix, were submitted and backed out in the same week, so neither is live despite showing up in the commit history. Plus a Zen server bump with a breaking namespace change, a UGS cache that saved 70 minutes of network transfer in one sync, and a silent out-of-bounds write in Mass entity storage that only bites in Test and Shipping builds.

    VS
    Venkat S
    Last Week in Unreal: The Build Farm Stops Blaming the Network (August 10 to 16, 2026)
    Last Week in Unreal

    Last Week in Unreal: The Build Farm Stops Blaming the Network (August 10 to 16, 2026)

    847 commits on ue6-main, and the week belongs to build infrastructure. Horde agents on streams with moving Perforce pins were producing builds from a mix of old and new files, and the detector written to catch that stayed dormant. UBA’s cache server went from roughly 500 buckets to roughly 5,000 and grew sweep-budget scaling, automatic bucket retirement, and retention telemetry to survive it. A disk stall detector landed after farm hosts were found holding single filesystem calls for up to 28 minutes while their timeouts got blamed on the network. Plus a material instance cook fix with a measured A/B, a Windows SDK floor bump worth checking before you sync, and an input thread default that flipped on and back off the same day.

    VS
    Venkat S
    Last Week in Unreal: Seven Ways a Build Cache Can Lie (August 3 to 9, 2026)
    Last Week in Unreal

    Last Week in Unreal: Seven Ways a Build Cache Can Lie (August 3 to 9, 2026)

    784 commits on ue6-main, and the most consequential ones are all the same bug: a cache returned a confident answer that was not a function of its inputs, and nothing logged a complaint. The shader job cache dropped keys at every hash-table growth boundary. DDC record bytes changed based on whether debug dumping was on. The UBA cache server ratcheted its own expiration window from three days to four seconds while crashing with SIGBUS in production. Plus an HDR correctness fix that moves pixels, a lifetime check that went fatal, mimalloc as the desktop editor allocator, and a 5.x sidebar showing 5.8.2 being assembled.

    VS
    Venkat S
    Last Week in Unreal: The Week Epic Made Its Failures Talk (July 27 to August 2, 2026)
    Last Week in Unreal

    Last Week in Unreal: The Week Epic Made Its Failures Talk (July 27 to August 2, 2026)

    822 commits on ue6-main and 77 of the 165 worth reading are crash, hang, deadlock, or teardown fixes. The pattern connecting them is diagnostics: the crash reporter can now report its own death, a commandlet was built to fingerprint Nanite builder output because Epic suspects it is not deterministic, and a test harness turned an 1800-second silent hang into a bounded failure. Plus a live auth bypass in the PixelStreaming2 signalling server, the C# BuildGraph VM deleted outright, Metal 4 as a full second backend, and a 5.x sidebar for studios shipping on 5.8.

    VS
    Venkat S