2dog 4.7.2.127

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global 2dog --version 4.7.2.127
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local 2dog --version 4.7.2.127
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=2dog&version=4.7.2.127
                    
nuke :add-package 2dog --version 4.7.2.127
                    

2dog

The .NET Tool for 2dog, which runs Godot as a library from your own .NET entry point. Point it at a Godot project and it adds .NET hosts: desktop, web, WebXR, Avalonia, Blazor, WinForms, WinUI 3, MAUI, Android, a C# REPL, and xUnit, NUnit or gdUnit tests. Then it keeps them healthy with 2dog doctor and current with 2dog update.

The dotnet new templates ship separately as 2dog.templates. To reference the engine from your own code, use 2dog.engine instead.

Getting started

With the .NET 10 SDK, run it without installing:

cd path/to/MyGame        # the folder with project.godot
dnx 2dog add             # pick hosts interactively
dotnet run --project MyGame.2dog

Or start from scratch with dnx 2dog new MyGame. Every prompt has a flag, so this runs unattended:

dnx 2dog add --web --xunit --yes

Other ways in: dotnet tool install -g 2dog installs the 2dog command, and dotnet new install 2dog.templates && dotnet new 2dog -n MyGame uses the template.

Your Godot project stays where it is. Each host is a nested folder with a .gdignore, added to the solution beside your game:

MyGame/
  project.godot
  MyGame.csproj      <- created or minimally patched
  MyGame.slnx        <- created, or an existing .sln is migrated (backup kept)
  MyGame.2dog/       <- desktop host
  MyGame.web/        <- browser host
  MyGame.xunit/      <- tests

The tool never moves, renames or deletes your files, except for the announced .sln migration and --rename. Run it again to add more hosts; existing ones are left alone. The guide and CLI reference cover the details.

Commands

Command Effect
2dog Print version info and usage
2dog new [Name] [dir] Create a new Godot project with 2dog hosts
2dog add [path] Add hosts to an existing Godot project
2dog doctor [path] Check the project and this machine; --fix applies the safe fixes; --build / --log explain build failures
2dog update [path] Update the project's 2dog packages to this tool's versions (never downgrades)
2dog pack list <file.pck> List a .pck's contents by size (no engine involved)
2dog repl Attach this terminal to a running REPL host (dotnet run --project MyGame.repl)
2dog repl exec [code] Run C# and node commands in a running REPL host; prints values, exits nonzero on failure
2dog repl sessions, 2dog repl close <session> List a REPL host's named sessions, close one
2dog skill [path] Write the REPL working guide for coding agents: --claude (default, .claude/skills/2dog-repl/SKILL.md), --codex (a section of AGENTS.md)
2dog version Print the tool and package versions
2dog help [verb] Usage, or the help for one verb

Options

Option Effect
--generic [folder], --web [folder], --webxr [folder], --xunit [folder], --nunit [folder], --gdunit [folder], --repl [folder], --winforms [folder], --winui [folder], --avalonia [folder], --blazor [folder], --android [folder], --maui [folder] Add a host, optionally in a named folder (repeatable; only --generic and --web are in the default set)
--no-generic, --no-web Leave a host out of the default set
-n, --name <BaseName> Project name (new) or base name override
--rename <NewName> Fix a .NET project name that contains spaces (add, before any hosts exist)
-o, --output <dir> Directory for a new project
-y, --yes, --non-interactive Do not prompt; take the flags and defaults
--dry-run Print planned actions without changing anything
--force Overwrite files that already exist (never deletes/moves)
--double-precision [true\|false] Select matching double precision bindings and natives for the game and all hosts; false selects single precision
--web-threads [true\|false] Enable experimental multithreading for Web and Blazor clients; serving requires COOP/COEP headers
--no-restore Skip the final dotnet restore
--install-wasm-tools new, add, doctor, update: install missing wasm-tools for browser hosts
--install-android-workload new, add, doctor, update: install the missing android workload for Android hosts
--update-workloads update: install missing workloads the hosts need, then update all installed workloads for the project's SDK
--allow-dirty update: proceed with uncommitted git changes
--fix, --fix-all, --build [target], -c, --configuration <Cfg>, --log <file>, --ignore <id>, --strict, --offline, --list-checks doctor options; see 2dog doctor --help
-s, --session <name>, --timeout <seconds>, --strict, --pipe <name> repl exec options: a named session that keeps its state, a time limit, failing on logged Godot errors, and which host to use; see 2dog repl --help
--json, -q, --quiet, --plain, --no-color, --accessible, -v, --verbose Output modes: machine-readable, terse, no styling, screen-reader friendly, extra detail
-h, --help, --version Help (per verb after a verb), versions

Exit codes: 0 ok, 1 usage error, 2 tool error (including a failed restore, which keeps the created files), 3 doctor findings remain or a repl exec submission failed, 124 repl exec timed out, 130 cancelled. Nothing prompts in a pipe or in CI. Workloads, troubleshooting and every verb in depth: 2dog.dev/dnx-2dog.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
4.7.2.132 0 10/21/2026
4.7.2.127 51 10/20/2026
4.7.2.126 48 10/20/2026
4.7.2.125 61 10/19/2026
4.7.2.124 72 10/18/2026
4.7.2.123 58 10/18/2026
4.7.2.122 90 10/15/2026
4.7.2.121 77 10/15/2026
4.7.2.120 83 10/15/2026
4.7.2.119 99 10/13/2026
4.7.2.117 87 10/13/2026
4.7.2.116 102 10/12/2026
4.7.2.114 101 10/11/2026
4.7.2.113 100 10/10/2026
4.7.2.112 94 10/10/2026
4.7.2.110 101 10/9/2026
4.7.2.109 92 10/9/2026
4.7.2.105 116 10/5/2026
4.7.2.103 117 10/3/2026
4.7.2.102 107 10/3/2026
Loading failed