Hosts
A host is a .NET application that starts Godot for your game or its tests. Each host has its own entry point and references your base game project.
You can have several hosts of the same type, each with its own project.
The host is what runs your game...
(but no worries, you can be totally in charge!)
Add a Host
Run this command from your Godot project directory, which contains project.godot:
bash
dnx 2dog addWhen the command asks, choose the hosts. You can also use the flags below. For a new project, use dnx 2dog new MyGame instead.
If you add -y and no host flags, the command adds the generic .NET and Web hosts. See Project Layout for files and MSBuild Configuration for shared settings.
Console
| Host | Flag | Purpose |
|---|---|---|
| 2dog (generic .NET) | --generic | .NET console application (desktop or headless) |
| REPL | --repl | Interactive C# inside the running game (opt-in) |
Desktop
| Host | Flag | Purpose |
|---|---|---|
| Avalonia | --avalonia | Cross-platform desktop UI |
| Qt Quick | --qt | QML UI with Qt Bridge for C# (experimental) |
| WinForms | --winforms | Windows Forms UI |
| WinUI 3 | --winui | Windows App SDK UI |
Web
| Host | Flag | Purpose |
|---|---|---|
| Blazor | --blazor | Game inside a Blazor page |
| Web | --web | WASM / HTML5 browser bundle (e.g. for itch.io) |
| WebXR | --webxr | Browser VR and AR |
Mobile
| Host | Flag | Purpose |
|---|---|---|
| Android | --android | Android APK (experimental) |
| iOS | --ios | iOS app built on a Mac (experimental) |
| MAUI | --maui | Windows, Android and iOS UI with an embedded Godot view |
Testing
| Host | Flag | Purpose |
|---|---|---|
| GdUnit | --gdunit | GDScript suites through embedded Godot and MTP |
| NUnit | --nunit | NUnit tests that use the Godot engine (opt-in) |
| xUnit | --xunit | xUnit tests that use the Godot engine (opt-in) |