Namespace Serenity.InitializationPipeline.Infrastructure.BootFailure
Classes
SerenityBootFailureReporter
The one surface a boot that did not go cleanly reaches the player and the game code through. Deliberately depends on nothing Serenity installs: the failure may BE the UI system's own install, so this uses only UnityEngine.Debug and a bare UnityEngine.GameObject it creates itself.
Both verdicts are reported. A HALTED boot stopped and nothing after the failing task ran. A DEGRADED
boot reached a playable game with the optional subsystems whose install tasks failed missing. Every
build raises BootCompletedWithFailures with the outcome — a consumer reads
Halted to tell them apart — and writes one error log naming each failed task. The Editor and
development builds additionally get UnityBootFailureOverlayComponent: blocking for a
halt, a non-blocking notice for a degraded boot, because there is no console to read on a device.
UnityBootFailureOverlayComponent
The minimal on-screen message a boot that did not go cleanly leaves behind, drawn with legacy IMGUI because that is the only drawing path that needs no camera, no canvas and no Serenity service — the failure may be the UI system's own install, so anything richer could fail with it. A halted boot takes the screen; a degraded one draws a strip at the top and leaves the running game visible under it.