Unravel Engine - Cross-platform C++ Game Engine
Unravel Engine is a cutting-edge, cross-platform game engine and WYSIWYG (What You See Is What You Get) editor, crafted in modern C++20. It empowers developers to create high-performance, immersive games with ease.
- Cross-Platform Compatibility: Seamlessly supports multiple operating systems to maximize your game's reach.
- Modern C++20: Built on the latest C++ standards for exceptional performance and maintainability.
- WYSIWYG Editor: Intuitive editor enabling real-time editing and visualization of game scenes.
- Comprehensive Feature Set:
- Animation System: Robust support for skeletal and keyframe animations.
- Physics Integration: Realistic physics simulations powered by Bullet Physics.
- Audio Support: 3D audio capabilities using OpenAL Soft.
- C# Scripting: Extend and customize gameplay logic using a C# scripting interface.
- Action-Based Input System: Flexible and modular input mapping for various devices.
- PBR Deferred Rendering: High-quality physically-based rendering with advanced lighting and material support.
- Dynamic Shadows: Realistic shadow casting for immersive visual fidelity.
- Reflection Probes: Support for realistic lighting and environment reflections.
- Async Asset Loading: Asynchronous loading for smooth gameplay and faster scene transitions.
- Broad Format Support:
- Most 3D mesh formats (e.g., OBJ, FBX, GLTF).
- Common audio formats (e.g., WAV, MP3, OGG).
- Graphics API Support: Fully supports DirectX 11, DirectX 12, Vulkan, and OpenGL for maximum flexibility and performance.


Engine C++ documentation can be found here - Engine Api
Scripting C# documentation can be found here - Script Api
Unravel Engine is currently under active development and is not yet production-ready. Contributions, feature requests, and feedback are highly encouraged to shape its evolution.
Download and install Mono from Mono Project On linux it is recommended to install the full mono-complete package if you want full experience with the IDE
You can download binaries for Windows and Linux from Releases
There is also a DemoProject available with the binaries.
The Editor uses Visual Studio Code or any of its forks like (Cursor, etc) for code editing.
You can double click on a script from the editor and it will open it with the detected vscode.
When opening a file it should prompt yout to install the necessary extensions. Do NOT skip them.
The project uses CMake as a build system so it is recommended to use that workflow in your IDE.
git clone https://github.com/unravel-dev/UnravelEngine.git
cd UnravelEngine
git submodule update --init --recursive
mkdir build
cd build
cmake ..
For Linux you can see the workflow file for the necessary packages Linux
bgfx - https://github.com/bkaradzic/bgfx
ser20 - https://github.com/unravel-dev/ser20
rttr - https://github.com/rttrorg/rttr
spdlog - https://github.com/gabime/spdlog
imgui - https://github.com/ocornut/imgui
assimp - https://github.com/assimp/assimp
glm - https://github.com/g-truc/glm
openal-soft - https://github.com/kcat/openal-soft
yaml-cpp - https://github.com/jbeder/yaml-cpp
bullet3 - https://github.com/bulletphysics/bullet3