OG Brawler is a brawler-specific gameplay framework built on og-simulation. It provides deterministic brawler simulation logic — attack arcs, guard states, radial sequences, input mapping, and character binding — all running inside the og-simulation tick loop.
og-brawler is the pure C++ brawler core. It has no build-system root and no Unreal Engine dependencies. It depends on og-simulation at link time but does not submodule it — the parent build supplies the og_simulation and glm::glm-header-only targets.
og-simulation (dependency — not submoduled here)
↑ linked by
og-brawler (this repo — pure source)
↓ consumed by
og-brawler-ue — UE plugin shell
og-brawler-tests — Catch2 test source
↓ assembled by
og-tests-cmake-runner — CMake build + test runner
og-brawler-unreal — UE game project
| Repo | Role |
|---|---|
| og-simulation | Simulation core this repo depends on |
| og-brawler-ue | Wraps this repo as a UE plugin |
| og-brawler-tests | Catch2 tests for this repo |
| og-tests-cmake-runner | CMake harness that builds + runs tests |
| og-brawler-unreal | UE game project; consumes this via og-brawler-ue |
og-brawler is a source distribution — not directly buildable on its own. Consume it via a parent build:
CMake (tests / standalone): clone og-tests-cmake-runner with --recurse-submodules. It assembles the full tree (og-simulation + og-brawler + Catch2 + glm).
git clone --recurse-submodules https://github.com/og-framework/og-tests-cmake-runner
cd og-tests-cmake-runner
cmake -S . -B build -G "Visual Studio 17 2022"
cmake --build build --config Release
ctest --test-dir build -C Release --output-on-failureUnreal Engine: use the og-brawler-ue plugin shell, consumed via og-brawler-unreal.
In your own CMake consumer, the parent build must provide og_simulation and glm::glm-header-only before adding this module:
add_subdirectory(extern/og-simulation/OGSimulation) # provides og_simulation
add_subdirectory(extern/og-simulation/Source/glm) # provides glm::glm-header-only
add_subdirectory(extern/og-brawler/OGBrawler)
target_link_libraries(MyTarget PRIVATE og_brawler)See og-brawler-unreal/docs/cross-repo-dev-loop.md for the multi-repo development workflow (submodule push order, pin management via og-tools).
Business Source License 1.1 — converts to MPL-2.0 on the Change Date printed in LICENSE (currently 2030-06-01).
What this means in practice:
| Use case | Allowed? |
|---|---|
| Non-commercial use (personal, educational, research, hobby, open-source) | ✅ Yes |
| Commercial use in any product that is not a multiplayer brawler | ✅ Yes |
| Use in a software product or service whose primary gameplay is multiplayer character-vs-character melee combat (a "Competing Product") | ⛔ Please contact the maintainer to discuss |
| Modify and contribute back via PR | ✅ Yes (via CLA) |
After the Change Date, the codebase converts automatically to MPL-2.0 and these restrictions lift.
Unsure if your use is permitted? Have an interesting idea? Reach out to grahnen92@gmail.com — the Licensor welcomes such conversations and is open to case-by-case exceptions.
See CONTRIBUTING.md for the contribution decision tree and CLA signing flow. Contributions land under each file's SPDX header (BUSL-1.1 for all source in this repo); the CLA additionally grants relicensing rights per Section 4.