OptionaldeferredWhen true, the engine's HandleStartup() is fired during startup but NOT awaited. The shell/app boot sequence proceeds without waiting for the engine to finish loading.
Use for engines that aren't required for first paint (e.g., admin-only or feature-specific engines like AIEngineBase, IntegrationEngineBase).
Consumer contract: code that reads engine state MUST call
await Engine.Instance.EnsureLoaded() (or Config(false)) first. BaseEngine
load is idempotent — a concurrent caller waits for the in-flight load promise
rather than re-loading, so the cost is just one microtask when the load is
already done or already running.
Failures during deferred startup are logged according to severity but never
propagate up — they cannot abort the app boot since boot has already completed.
Default: false.
OptionaldeferredOptional delay in milliseconds before executing the deferred HandleStartup() method. Only applies when deferred is true. If specified, the startup manager will wait this amount of time using a timer (setTimeout) before initiating the loading sequence for the deferred startup class.
OptionaldescriptionHuman-readable description for logging/debugging
OptionalpriorityLoading priority. Lower numbers load first. Classes with same priority load in parallel. Default: 100
OptionalseverityWhat happens if HandleStartup() fails.
Options for the
Register For Startup
decorator