public static class VixenAppThe one line an application's Program.cs usually is.
Remarks
return VixenApp.Run<MyGame>(args); and nothing else. The sequence it runs through is Create → Build → Run, all of which are public, so an application that wants control inlines the three calls and edits the middle one rather than fighting a host that will not let go.
That property is deliberate and worth protecting: docs/plan/17 chose the "the app is the executable" model precisely so that nothing in the boot path is a black box, and a convenience method that hid steps would give the property away for the sake of one line.
⚠ This is the only place the default backends are installed. Everything else in the host is in Vixen.App.Hosting, under Core/, which may not reference Platform/ — so an AppBuilder constructed directly has neither a platform nor a device and says so. That is what makes this class three lines long and what makes those three lines load-bearing.
Methods (2)
public static int Run<TGame>(string[]? arguments = null) where TGame : Game, new()Builds and runs an application.
public static AppBuilder Create(string[]? arguments = null)Starts configuring an application, on the backends this package ships.
Used by (11)
- ProgramPbrShowcase
- ProgramHelloTriangle
- ProgramVideoPlayback
- ProgramVirtualGeometry
- AppBackendTestsVixen.App.Tests
- HostedEngineTestsVixen.App.Tests
- HostedRendererTestsVixen.App.Tests
- RemoteContentMountTestsVixen.App.Tests
- StartupSceneTestsVixen.App.Tests
- VixenApplicationTestsVixen.App.Tests
- RealmAppVixen.Live.Realm