2dog.browser-wasm.release
4.7.1.17
dotnet add package 2dog.browser-wasm.release --version 4.7.1.17
NuGet\Install-Package 2dog.browser-wasm.release -Version 4.7.1.17
<PackageReference Include="2dog.browser-wasm.release" Version="4.7.1.17" />
<PackageVersion Include="2dog.browser-wasm.release" Version="4.7.1.17" />
<PackageReference Include="2dog.browser-wasm.release" />
paket add 2dog.browser-wasm.release --version 4.7.1.17
#r "nuget: 2dog.browser-wasm.release, 4.7.1.17"
#:package 2dog.browser-wasm.release@4.7.1.17
#addin nuget:?package=2dog.browser-wasm.release&version=4.7.1.17
#tool nuget:?package=2dog.browser-wasm.release&version=4.7.1.17
2dog.browser-wasm
Browser (WebAssembly) support for 2dog: statically links the
Godot engine into your .NET browser-wasm publish and ships the Godot web boot
shell. Your C# code hosts Godot in the browser – the same inversion 2dog does on
desktop.
How it works
The .NET browser-wasm runtime is the Emscripten main module. During
dotnet publish -r browser-wasm, the wasm-tools workload relinks
dotnet.native.wasm with Godot's static archive (libgodot.a) and JS glue from
this package. Game content is exported to a .pck on your build machine (via
the desktop editor packages 2dog already depends on) and served next to the app
bundle.
Requirements
- .NET SDK 10.0+ with the
wasm-toolsworkload (dotnet workload install wasm-tools) - A host project:
net10.0,OutputType=Exe,RuntimeIdentifier=browser-wasm,PackageReferenceto2dogand2dog.browser-wasm,<GodotProjectDir>set - The Godot project needs a
Webexport preset, a solution file, andLIBGODOT_ENABLED+AllowUnsafeBlocksin its csproj - A
wwwroot/index.htmlboot page (create a project withdotnet new 2dog --webfor a working setup out of the box)
Usage
dotnet publish -c Release
Serve the generated AppBundle/ directory with any static file server. The
single-threaded engine build requires no COOP/COEP headers.
Properties
| Property | Default | Description |
|---|---|---|
TwoDogWebVariant |
release |
debug selects the engine-assertions build (requires referencing 2dog.browser-wasm.debug) |
TwoDogExportPack |
true |
Export the Godot project as a .pck during publish |
TwoDogWebExportPreset |
Web |
Export preset name in export_presets.cfg |
TwoDogWebPackName |
godot.pck |
Deployed pack file name |
Known limitations
- Single-threaded (
System.Threadinguse will fail); a threaded variant may come later - No GDExtension support in web builds (the .NET runtime owns the main module)
- Every publish relinks the wasm (minutes); iterate gameplay on desktop, publish web to verify
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on 2dog.browser-wasm.release:
| Package | Downloads |
|---|---|
|
2dog.browser-wasm
Browser (wasm) meta package for twodog. Statically links the Godot engine into your .NET browser-wasm publish and ships the Godot web boot shell. Reference this package alongside twodog (2dog) in a net10.0+ browser-wasm host project. Requires the wasm-tools workload. |
GitHub repositories
This package is not used by any popular GitHub repositories.