Repository navigation
Home
Mikael K. Aboagye edited this page Aug 25, 2026
·
2 revisions
O3DESharp is an Open 3D Engine gem that adds C# scripting to O3DE via Coral (a .NET Core hosting library for native C++ applications). Write gameplay logic in C#, get EBus events, component reflection, and generated bindings to the engine's C++ API - with an experimental NativeAOT path for shipping without a JITted CLR.
- README - what O3DESharp is, installing the gem, building it, and an overview of every major subsystem (Coral hosting, hot reload, EBus dispatch, NativeAOT shipping, the binding generator).
- Scripting Guide - the practical guide to writing C# scripts against O3DESharp: components, lifecycle, EBus events, transforms, input, and more.
- Advanced Features - deeper subsystems once you're past the basics.
- Generating Bindings - quick-start: which CLI command to run and why (reflection backend vs. clang backend).
- Generated Bindings Guide - the full workflow: how the binding generator turns C++ headers into C# bindings, packaging generated code into a DLL, and consuming it from game scripts.
- NativeAOT Desktop Shipping - the experimental, opt-in path to ship with no CoreCLR/Coral dependency: how the ABI seam works, the closed-world dispatch constraint, and current limitations.
- Phase 18 - EBus Design - the design behind EBus event dispatch between C++ and C#.
- Release Notes - what shipped in each milestone.
These pages mirror the markdown docs in the repo root (WatchDogStudios/O3DESharp) - if a page and its source file disagree, the repo file is canonical.