Building GoudEngine
Alpha โ GoudEngine is under active development. APIs change frequently. Report issues ยท Contact
Core Build Commands
cargo build # Debug build
cargo build --release # Release build
cargo test # Run all tests
cargo test -- --nocapture # Tests with output
Release Build
build.sh compiles the engine in release mode and copies the native library into the SDK output directories:
./build.sh
./build.sh --release # Explicit release flag
After running, the compiled .dylib / .so / .dll is placed in the appropriate SDK directory. The C# build also triggers csbindgen to regenerate NativeMethods.g.cs.
Packaging
package.sh creates a NuGet package from the built artifacts:
./package.sh # Package to nuget_package_output/
./package.sh --local # Package and push to local NuGet feed
The local NuGet feed is at $HOME/nuget-local. To consume it in an example project:
./dev.sh --game <game> --local
# or manually:
dotnet add package GoudEngine --version <version> --source $HOME/nuget-local
SDK Tests
# C# SDK tests
dotnet test sdks/csharp.tests/
# Python SDK tests
python3 sdks/python/test_bindings.py
# TypeScript SDK tests
cd sdks/typescript && npm test
Module Dependency Graph
Generate a visual graph of module dependencies:
./graph.sh
This creates docs/diagrams/module_graph.png and .pdf using cargo modules and GraphViz.