ManifestGames.GameplayCSharpBindings 0.1.8
ManifestGames.GameplayCSharpBindings
SWIG-generated C# bindings for the gamenetworking gameplay library,
packaged as a single NuGet package (ManifestGames.GameplayCSharpBindings) that also carries the native
binaries per platform.
Note that this is for consumption by clients (game engine bindings, or bots) - not for servers
Layout
src/GameplayCSharpBindings/— SWIG-generated.csoutput (committed) + hand-writtenGameplayCSharpBindings.xmlAPI documentation + package.csprojswig/interface.i— snapshot of the SWIG interface definitionswig/generate.sh— regeneration script (run from the root of the native gamenetworking repo)native/runtimes/<rid>/native/— native libs dropped here by CI before packing (gitignored):linux-x64→libgamenetworking.sowin-x64→gamenetworking.dll
XML API documentation
The NuGet package ships a <PackageId>.xml file alongside the DLL, providing IDE
tooltips and dotnet build warnings for every public type and member. The
documentation is hand-written (the SWIG output has no doc comments) and staged
over the compiler's (empty) generated XML at build time via a post-build target
(StageHandWrittenApiDocs in the .csproj).
Consuming
<PackageReference Include="ManifestGames.GameplayCSharpBindings" Version="0.1.1" />
.NET resolves the correct native library from the package's runtimes/ folder automatically.
Releasing
# 1. place native libs in native/runtimes/...
dotnet pack src/GameplayCSharpBindings -c Release -o artifacts
# 2. publish artifacts/*.nupkg to your feed
Keep the NuGet version in lock-step with the native library version — they are ABI-coupled.
CI flow (Jenkins + OCI registry)
- gamenetworking/Jenkinsfile.client builds the native lib (linux-x64, plus
android-arm64 when the NDK is on the agent), pushes the
.sofiles to the in-cluster OCI registry (helm docker-registry, plain HTTP) withorasas<sha12>-linux-x64/<sha12>-android-arm64tags, verifies the tags are resolvable, and only then pushes the generated.csfiles to this repo as a commit carrying aNative-OCI: gamenetworking/native@<sha12>trailer. - A GitHub webhook on this repo (push events →
<jenkins>/github-webhook/,githubPush()trigger in this Jenkinsfile) fires the bindings build. - This Jenkinsfile parses the
Native-OCItrailer from the trigger commit and pulls that exact native tag from the OCI registry intonative/runtimes/<rid>/native/before packing — so a triggered build is guaranteed binaries matching the bindings it builds.
Manual runs can override the tag with the OCI_TAG parameter, or build the
native lib locally with BUILD_NATIVE=true.
No packages depend on ManifestGames.GameplayCSharpBindings.
.NET Standard 2.1
- No dependencies.
| Version | Downloads | Last updated |
|---|---|---|
| 0.4.6 | 7 | 10/19/2026 |
| 0.4.5 | 1 | 10/19/2026 |
| 0.4.4 | 5 | 10/09/2026 |
| 0.4.3 | 5 | 10/09/2026 |
| 0.4.2 | 2 | 10/09/2026 |
| 0.4.1 | 3 | 10/09/2026 |
| 0.4.0 | 2 | 10/08/2026 |
| 0.3.1 | 2 | 10/07/2026 |
| 0.3.0 | 2 | 10/07/2026 |
| 0.2.4 | 5 | 10/06/2026 |
| 0.2.3 | 5 | 09/30/2026 |
| 0.2.2 | 4 | 09/29/2026 |
| 0.2.1 | 3 | 09/29/2026 |
| 0.2.0 | 46 | 09/28/2026 |
| 0.1.15 | 4 | 09/22/2026 |
| 0.1.14 | 3 | 09/22/2026 |
| 0.1.13 | 3 | 09/21/2026 |
| 0.1.12 | 5 | 09/19/2026 |
| 0.1.11 | 5 | 09/11/2026 |
| 0.1.10 | 55 | 09/10/2026 |
| 0.1.9 | 6 | 09/09/2026 |
| 0.1.8 | 8 | 09/04/2026 |
| 0.1.6 | 4 | 09/04/2026 |
| 0.1.5 | 5 | 09/03/2026 |
| 0.1.4 | 4 | 09/02/2026 |
| 0.1.3 | 15 | 09/02/2026 |
| 0.1.2 | 4 | 09/02/2026 |