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.
- Download the latest release from Releases
- Install the .NET 9 SDK (required for C# scripting)
| Component | Minimum | Recommended |
|---|---|---|
| OS | Windows 10, Ubuntu 22.04, macOS 14 | Windows 11, Ubuntu 24.04, macOS 15+ |
| CPU | Intel i5-4590 / AMD FX 8350 | Intel i7-8700K / AMD Ryzen 5 3600 |
| Memory | 8 GB RAM | 16 GB RAM |
| Graphics | DirectX 11 compatible | GTX 1060 / RX 580 or better |
| .NET | .NET 9 SDK | Latest .NET 9+ SDK |
- WYSIWYG Editor - Real-time scene editing and visualization
- Material Editor - Advanced PBR material authoring with alpha cutoff and shadow support
- Asset Browser - Intuitive asset management, thumbnails, and preview
- Wireframe Selection - Clear mesh selection overlays in the viewport
- Surface Placement - Drop meshes and prefabs into the scene with raycast placement and surface snap
- C# Scripting on CoreCLR - Modern .NET scripting with hot-reload, powered by CoreCLR (
hostfxr) via dotnetpp - IL Weaving - Mono-style internal calls compiled and woven at build time for CoreCLR (no Mono runtime required)
- Cross-Platform - Windows, Linux, macOS support
- Modern C++20 - Latest standards for performance and maintainability
- Action-Based Input - Flexible input mapping for various devices
- Undo/Redo System - Complete editor history management
- Asset Compilation - Automatic compilation of source assets with import metadata
- Deploy Pipeline - One-click project deployment
- Play Mode Lifecycle - Splash โ running phases with optional logo splash screen
- PBR Deferred Rendering - Physically-based rendering pipeline
- Dynamic Shadows - Realistic shadow casting with multiple techniques
- Reflection Probes - Environment reflections with configurable capture / bake settings
- Post-Processing Volumes - Spatial volumes with Bloom, Tonemapping, FXAA, ASSAO, SSR, and SSIL; local/global modes with priority and blend transitions
- Skylight - Atmospheric lighting with Perez sky model
- Per-Submesh LODs - Animation-aware world bounds, culling, and LOD selection per submesh
- GPU Resource Eviction - Automatic GPU memory pressure handling on supported backends
- Physics Integration - Powered by Bullet Physics
- 3D Audio - Spatial audio with OpenAL Soft
- Animation System - Skeletal and keyframe animations
- Particle System - GPU-friendly particle effects and simulations
- Game UI - HTML+CSS based UI system powered by RmlUi with full world-space support
- Prefab System - Reusable entity templates with overrides and updates
- ECS Architecture - Entity-Component-System powered by EnTT
- Async Asset Loading - Non-blocking resource management
- 3D Models: OBJ, FBX, GLTF, GLB, DAE, and more
- Audio: WAV, MP3, OGG formats
- Textures: PNG, JPG, TGA, DDS, KTX, HDR formats
DirectX 11 โข DirectX 12 โข Vulkan โข OpenGL
Engine C++ documentation can be found here - Engine Api
Scripting C# documentation can be found here - Scripting Api
Unravel Engine is in active development and not yet production-ready. We welcome:
- ๐ค Contributions from developers
- ๐ก Feature requests from the community
- ๐ Feedback to guide development priorities
Prerequisites: Install the .NET 9 SDK before using the engine. Script compilation and hot-reload use the dotnet CLI and CoreCLR.
Note: A .NET runtime alone is not enough for editing โ you need the SDK so scripts can compile. Newer major SDKs are accepted via roll-forward when available.
Download pre-built binaries for Windows and Linux from Releases
The Editor integrates seamlessly with Visual Studio Code and its variants (Cursor, VSCodium, etc) for script editing:
- Double-click any script in the editor to open it in your detected VS Code installation
- Install the recommended extensions when prompted for the best development experience
- Enjoy features like syntax highlighting, IntelliSense, and debugging support
While the editor is running, a localhost MCP (JSON-RPC over HTTP) server is available for AI tooling:
- URL:
http://127.0.0.1:27182/mcp - Bind:
127.0.0.1only (default port27182) - Open Windows โ MCP Server in the editor for status, endpoint copy, start/stop, and an activity log
- CMake 3.20 or higher
- C++20 compatible compiler (MSVC 2022, GCC 12+, Clang 12+)
- Git with LFS support
- .NET 9 SDK (Download) โ
dotnetmust be onPATH
# Clone with submodules
git clone --recursive https://github.com/unravel-dev/UnravelEngine.git
cd UnravelEngine
# Configure
cmake -B build -DCMAKE_BUILD_TYPE=Release
# Build
cmake --build build --config Release --parallel
# Run editor
cd build/bin
./UnravelEditor.exe
or
./unravel-editor- Windows: MSVC or Clang recommended
- Linux: Install a recent .NET 9 SDK package from package manager or Microsoftโs install docs; see also workflow dependencies
- macOS: Xcode command line tools required, plus the .NET 9 SDK
- Issue:
dotnetnot found โ Install the .NET 9 SDK and ensure it is onPATH - Issue: Script compile fails โ Confirm
dotnet --inforeports an SDK (not only a runtime) - Issue: Submodule errors โ Run
git submodule update --init --recursive - Issue: CMake configuration fails โ Check CMake version and compiler support
- ๐ Issues: Report bugs
- ๐ก Discussions: Feature requests & questions
- ๐ Documentation: Engine API โข Script API
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Unravel Engine is built upon these excellent open-source libraries:
| Library | Purpose | Repository |
|---|---|---|
| bgfx | Cross-platform rendering | Link |
| EnTT | Entity-Component-System | Link |
| Bullet3 | Physics simulation | Link |
| Dear ImGui | Immediate mode GUI | Link |
| RmlUi | HTML+CSS game UI | Link |
| Assimp | 3D model loading | Link |
| OpenAL Soft | 3D audio | Link |
| GLM | Mathematics library | Link |
| spdlog | Fast logging | Link |
| yaml-cpp | YAML parsing | Link |
| ser20 | Serialization | Link |