Quick Start
SafiEngine is a 3D game engine and editor built with C++17, modern OpenGL 3.3 Core Profile, and an ECS architecture powered by Flecs. It features Jolt Physics for rigid body simulation, native C++ scripting via the Behavior system, spatial audio through miniaudio, skeletal animation, and a Dear ImGui editor with docking support.

Features
- ECS Architecture: Flecs v4.0.5 for entity/component/system management
- 3D Rendering: Multi-light Blinn-Phong shading (point, directional, spot lights), glTF model loading, procedural primitives (box, sphere, plane, cylinder, capsule), skeletal animation, particle systems
- Physics: Jolt Physics v5.2.0 with rigid bodies, box/sphere/capsule colliders, and fixed-timestep simulation
- Native Scripting: C++ Behavior system with BehaviorRegistry, per-entity NativeScript component, and editor integration
- Audio: miniaudio for cross-platform audio playback with spatial sound support
- Editor: Dear ImGui-based editor with project hub, viewport, scene hierarchy, inspector, asset browser, stats, and console panels
- Scene Management: JSON-based scene serialization with save/load and play mode snapshot/restore
Prerequisites
- CMake 3.15+
- A C++17 compiler (Clang, GCC, or MSVC)
- OpenGL (provided by the system)
All other dependencies are fetched automatically via CMake FetchContent. glad (OpenGL loader) is vendored in the project. Dear ImGui (docking branch) is included as a git submodule.
Get Started
The editor opens a Project Hub where you can create or open projects, then launches the full editor with a 3D viewport, scene hierarchy, inspector, and more.