Exporting a Project¶
Exporting turns editor-authored scenes, resources, scripts, and shaders into a shippable build — either a buildable source project or a compiled binary, depending on the mode you choose.
Choose an export mode¶
File → Export opens with three modes:
- Source Code — generates a self-contained C++ project (engine included) you build yourself with CMake or the platform toolchain. Pick this for Android/iOS, CI pipelines, or when you want to customize the build.
- Desktop — compiles a ready-to-run executable for the OS the editor runs on and
copies it, with
assets/andlua/, to your destination folder. Needs CMake and a C++ compiler installed. - Web — compiles an HTML + JavaScript + WebAssembly build with Emscripten. Needs the
Emscripten SDK installed (auto-detected, or point the
window at your
emsdkfolder once).
Desktop and Web reuse the Source Code pipeline internally, building inside
.doriax/export/ in your project — the first export compiles the engine and is slow,
later ones are incremental and fast.
Export checklist¶
Before exporting, verify:
- All scenes are saved.
- The intended startup scene is selected.
- Resource paths are inside the project or otherwise reachable by the exporter.
- Lua and C++ entry points are configured so only the intended startup path creates the main scene.
- Target platform dependencies are installed.
- The output folder is outside the source asset folders you edit by hand.
What the exporter prepares¶
The editor export pipeline can prepare:
| Output | Purpose |
|---|---|
| Scene code/data | Serialized scene hierarchy, components, bundles, and child scene references |
| Resources | Textures, models, fonts, audio, and other project assets |
| Scripts | Lua files and generated C++ glue for script entry points |
| Shaders | Cross-platform shader data for the selected backend |
| Build files | CMake, Gradle, Xcode, Emscripten, or platform-specific project files |
Shader output¶
The exporter supports shader output formats configured by the editor's shader export settings. Use the default unless you are debugging shader packaging or integrating a custom build step.
Build after export¶
Desktop and Web mode exports are already built — run the executable from the
destination folder, or serve the web files with any local web server
(python3 -m http.server).
Source Code exports are built with CMake:
Android, iOS, macOS, and HTML5 have additional platform requirements. See the Export Window section and the target-specific guide.
Troubleshooting¶
| Symptom | Check |
|---|---|
| Scene does not load | Startup scene, scene ID/name, exported scene list |
| Blank window | Active camera, canvas size, render backend, asset paths |
| Missing textures | Resource folder, texture path case, unsupported source format |
| Script starts twice | NO_CPP_INIT / NO_LUA_INIT configuration |
| Shader errors | Target backend, shader compiler output, generated shader files |
| Slow or unusually large C++ build | Large inline mesh data; prefer a GLTF or OBJ asset |
Exporting without the GUI¶
You can run the same export from a terminal with the doriax-editor CLI — handy for
build servers and automated releases:
See Command-Line Tools for all options.
Continue with Export Window and Build Options.