Epoch Engine is a world-class, modules-first, AI-enabled C++23 game engine built for serious real-time tooling: internal engine bootstrap, multi-context rendering, launcher + editor workflow, atlas-driven UI, engine-owned compiled scripting, and a runtime that can drive multiple backends at once without giving up engine-level control.
The active engine lives in:
Engine/src/
Engine/include/
Engine/modules/
Engine/resource/
with prebuilt MSVC runtime binaries commonly landing in:
x64/Debug/
x64/Release/
Those binary folders also carry runtime assets, so launching from the binary directory is the safest default for local testing.
For Windows multi-context smoke tests, prefer launching directly from
x64/Debug/ or x64/Release/ so docked SDL/SFML/Vulkan panes see the same
asset set as the main editor host.
- Internalized engine bootstrap and entry-point flexibility. Epoch can own the
desktop startup path itself or be embedded with handled/headless entry
configurations through the active
EPOCH_*runtime macros. See configuration flags and runtime operations. - Multi-context, multi-backend runtime orchestration across OpenGL, Vulkan, SDL3, Raylib, SFML, software, and noop/headless paths.
- Launcher-first workflow that routes projects into the editor and games into scene/runtime mode, instead of treating the editor as a loose debug shell.
- Desktop-style editor workflow with scene preview control, command surfaces, and backend-aware fallback behavior.
- Atlas-driven GUI, sprite, and text pipelines shared across the runtime rather than copied independently into each backend.
- ECS-style systems, scene plumbing, gameplay modules, and engine-owned runtime state.
- Engine-owned compiled scripting with editor-triggered run actions, a host API for runtime/editor callbacks, and task-graph-backed asynchronous work scheduling.
- Diagnostics, renderer telemetry, runtime logging, and updater plumbing as first-class engine systems.
- Cross-platform build freedom: Visual Studio, MSBuild, CMake presets, VS Code, shell-script workflows, and multiple compiler families across Windows, Linux, and macOS.
- Module-first public engine surface centered around active C++23 modules and the exported epochengine module.
These README captures are editor/source proofs, not updater-shell screenshots. If a packaged bootstrap release looks older than these, it has not caught up to the current source/editor state yet.
Windows editor six-context camera/control refresh, source v0.83.53:
Windows editor backend proofs, source v0.83.41:
WSL/Linux editor proof, source v0.83.42:
WSL/Linux note:
- The Linux screenshot above comes from the engine's own frame capture under WSLg, which avoids the extra-window behavior that can make desktop grabs misleading.
- The broader Linux multi-window view is still visually inconsistent under WSLg, so the README is using the clean single-backend editor proof for now.
Engine/
Engine code, build configuration, resources, examples, docs, assets, and editor/runtime systems.
x64/
MSVC runtime outputs and colocated runtime assets for local launches.
Changes/
Active changelog, roadmap, and current release notes.
Images/
Repository artwork and README assets.
Tools/
Local helper scripts and tooling notes.
Open the solution at:
Engine.sln
Typical configuration:
Debug | x64Release | x64
Primary engine project surfaces:
- Engine/Engine.vcxitems
- Engine/examples/StaticLib1/StaticLib1.vcxproj
- Engine/examples/ConsoleApplication1/ConsoleApplication1.vcxproj
From the repository root in Developer PowerShell:
& "C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe" Engine.sln /t:Rebuild /p:Configuration=Debug /p:Platform=x64 /m:1To build the example app only:
& "C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe" Engine.sln /t:ConsoleApplication1 /p:Configuration=Debug /p:Platform=x64 /m:1Presets live at Engine/CMakePresets.json.
Windows MSVC:
Set-Location Engine
cmake --preset x64-debug
cmake --build --preset x64-debugWindows Clang:
Set-Location Engine
cmake --preset clang-x64-debug
cmake --build --preset clang-x64-debugWindows GCC / MinGW:
Set-Location Engine
cmake --preset gcc-x64-debug
cmake --build --preset gcc-x64-debugLinux:
cd Engine
cmake --preset Ninja-Debug
cmake --build --preset Ninja-DebugmacOS:
cd Engine
cmake --preset macos-debug
cmake --build --preset macos-debugVS Code workspace configuration lives in:
Engine/.vscode/
Key files:
- Engine/.vscode/tasks.json
- Engine/.vscode/launch.json
- Engine/.vscode/settings.json
- Engine/.vscode/c_cpp_properties.json
- Engine/.vscode/cmake-kits.json
Recommended flow:
- Open
Engine/in VS Code. - Select a CMake preset or task matching your compiler.
- Build through the bundled tasks or the CMake Tools extension.
Scripted build helpers:
Examples:
cd Engine
./build.sh gcc Release
./run.sh gcc ReleaseWSL note:
- The packaged Linux updater shell can also be smoke-tested under Windows WSL2.
- Use a WSLg/X11 setup with working OpenGL, extract the Linux release asset inside WSL, then launch
./epoch. - The Linux updater shell now prefers OpenGL by default on Linux/WSL; you can still force
--backend softwareif you need the CPU path.
Launch from the binary directory so the colocated assets resolve cleanly:
Set-Location x64/Debug
.\ConsoleApplication1.exeRelease build:
Set-Location x64/Release
.\ConsoleApplication1.exeRelevant runtime asset roots:
x64/Debug/assets/x64/Release/assets/Engine/assets/
Documentation index: Engine/docs/README.md
Useful entry points:
- Engine/docs/build_presets.md
- Engine/docs/build_scripts.md
- Engine/docs/tools_list.md
- Engine/docs/runtime_operations.md
- Engine/docs/aengineconfig_flags.md
- Engine/docs/engine_analysis.md
- Engine/docs/context_audit.md
- Engine/docs/menu_overlay_backend_audit.md
- Engine/docs/renderer_regression_plan.md
- Engine/docs/wsl_vcpkg_setup.md
- Changes/release_notes_archive.md
Version:
v0.83.54
Highlights:
0.83.54wires real Win32 wheel and text/key events back into the docked editor GUI path, which restores wheel zoom and gives the AI chat a live input route instead of the dead placeholder behavior.- The preview look-hit marker now sits on the grid plane as a proper targeting cross instead of hovering above the scene with a false camera-to-hit stem.
- The editor now exposes real entity controls for adding meshes, lights, and spawns, plus duplicating or deleting the current selection from the active UI surfaces instead of logging placeholder actions.
- The software renderer now tracks camera revisions directly and reduces repeated telemetry churn so it spends less time redrawing stale editor frames.
- The refreshed 4K six-context editor proof above was captured from the real
asset-bearing
x64/Debugruntime so it matches the current local launch path. - The repo still keeps Windows resources under
Engine/resource/, separate from both implementation code and module interfaces. - Detailed release history lives in Changes/changelog.txt, Changes/release_notes_archive.md, and the current version notes under Changes/.
Changelog:
Roadmap:
LicenseRef-MIT-NoSell
See LICENSE for full terms.




