Engine upgrades rarely fail loudly. The project opens, the editor comes up, and the real damage is a handful of things that quietly stopped working. A plugin still declaring an old EngineVersion. Calls into API that has since been deprecated. You find them weeks later, when something doesn’t render and nobody remembers changing it.
Migration Ledger is a pre flight pass for exactly that. It scans a project against the engine version you are moving to, surfaces the silent degradations, and acts on them rather than handing you a list to work through by hand.
From its own in engine verification on UE 5.8: against two planted defects the run exits non zero and reports one silent degradation, a .uplugin declaring EngineVersion 5.4.0 on a 5.8 engine, plus warnings on genuinely deprecated API. It runs headless as a commandlet, so it sits in CI as easily as it does in the editor. It was checked by installing the gate built plugin, binaries included, into a real test project rather than only by building it, because a plugin that builds and then fails to load is the failure mode that matters here.
Worth doing now rather than later: 5.8 is the final major UE5 release, so most teams have one more upgrade in front of them before UE6.
Everything here is AI written and the listing says so on the page.