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.
๐ Quick Start
Try the Demo
- Download the latest release from Releases
- Extract and run
ะตditor.exe(Windows) orะตditor(Linux) - Open the included DemoProject to explore features
System Requirements
| Component | Minimum | Recommended |
|---|---|---|
| OS | Windows 10, Ubuntu 20.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 |
| Storage |
โจ Key Features
๐จ Visual Development
- WYSIWYG Editor - Real-time scene editing and visualization
- Material Editor - Advanced PBR material authoring
- Asset Browser - Intuitive asset management and preview
๐ง Development Experience
- C# Scripting - Full-featured scripting with hot-reload
- 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
๐ฎ Engine Capabilities
- PBR Deferred Rendering - Physically-based rendering pipeline
- Dynamic Shadows - Realistic shadow casting with multiple techniques
- Reflection Probes - Environment reflections and lighting
- Post-Processing Volumes - Spatial volumes with Bloom, Tonemapping, FXAA, SSAO, and SSR; local/global modes with priority and blend transitions
- Skylight - Atmospheric lighting with Perez sky model
- Physics Integration - Powered by Bullet Physics
- 3D Audio - Spatial audio with OpenAL Soft
- Animation System - Skeletal and keyframe animations
- Robust Particle System - Advanced 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
๐ Format Support
- 3D Models: OBJ, FBX, GLTF, DAE, and more
- Audio: WAV, MP3, OGG formats
- Textures: PNG, JPG, DDS, HDR formats
๐ฏ Graphics APIs
DirectX 11 โข DirectX 12 โข Vulkan โข OpenGL
๐ธ Screenshots
๐ Documentation
Engine C++ documentation can be found here - Engine Api
Scripting C# documentation can be found here - Scripting Api
๐ง Current Status
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
๐ Getting Started
Prerequisites: Download and install Mono before using the engine.
Note for Linux users: Install the
mono-completepackage after follwing the install instructions from the url for the full IDE experience.
๐ฏ Editor
Download pre-built binaries for Windows and Linux from Releases
The release includes a DemoProject to help you get started quickly and explore the engine's capabilities.
Code Editing Integration
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
๐ Building from Source
Prerequisites
- CMake 3.20 or higher
- C++20 compatible compiler (MSVC 2022, GCC 12+, Clang 12+)
- Git with LFS support
- Mono 6.12 (Download)
Build Steps
# 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 ./build/bin/editor
Platform-Specific Notes
- Windows: MSVC or Clang recommended
- Linux: Install mono-complete package for full IDE experience (workflow dependencies)
- macOS: Xcode command line tools required
Troubleshooting
- Issue: Mono not found โ Ensure mono is in PATH
- Issue: Submodule errors โ Run
git submodule update --init --recursive - Issue: CMake configuration fails โ Check CMake version and compiler support
๐ค Community & Support
- ๐ Issues: Report bugs
- ๐ก Discussions: Feature requests & questions
- ๐ Documentation: Engine API โข Script API
๐ค Contributing
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
๐ Third-Party Libraries
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 |