Skip to content
Mikael K. Aboagye edited this page Aug 25, 2026 · 2 revisions

O3DESharp Wiki

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.

Getting started

  • 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.

Bindings and code generation

  • 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.

Shipping

  • 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.

Architecture and design notes

Release history


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.

Clone this wiki locally