Work in progress C++ Game Engine
- C++ Compiler: C++23 compliant (
MSVC v143+/ VS 2022+ on Windows,GCC 14+orClang 18+on Linux) - Rust Toolchain:
cargo&rustc(stable) - .NET SDK: .NET 10.0 SDK
- Python: Python 3.10+
- Vulkan SDK: Vulkan SDK 1.4+ (automatically downloaded on Linux if not present)
- CMake: 3.28+
We actively develop on the dev branch. Clone with --recursive to initialize git submodules:
git clone --recursive https://github.com/evangelionxyz/IgniteEngine.git -b dev- Run the bootstrap script to download dependencies, build prerequisites, and generate Visual Studio project files:
gen.bat- Restore and Build with MSBuild (or open
IGN.slnxin Visual Studio):
msbuild IGN.slnx /t:Restore /p:Configuration=Debug /p:Platform=x64
msbuild IGN.slnx /t:Build /p:Configuration=Debug /p:Platform=x64To build in Release configuration, replace Debug with Release.
- Run the bootstrap script to install system packages via
apt, configure SDKs, install .NET tooling symlinks, and generate GNU Makefiles:
chmod +x gen.sh
./gen.sh- Build the Editor:
make -j$(nproc) config=debug Ignite.Editor- Build the C# Script Engine:
make -j$(nproc) config=debug Ignite.ScriptEngine- Build and Run the Test Suite:
make -j$(nproc) config=debug Ignite.Test
./bin/Debug/Ignite.TestNote: For Release builds, use
config=release(binaries are emitted tobin/Release/).
# 1. Build the Docker image once
docker build -t ignite-image:latest .
# 2. Run container with source tree mounted
docker run -it --rm -v "${PWD}:/workspace" ignite-image:latest
# 3. Inside container: generate project files
python3 scripts/setup.py
# 4. Build C++ Editor
make -j$(nproc) config=debug Ignite.Editor
# 5. Build C# ScriptEngine
make -j$(nproc) config=debug Ignite.ScriptEngine
# 6. Build and run tests
make -j$(nproc) config=debug Ignite.Test
./bin/Debug/Ignite.Test





