Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

541 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฎ Unravel Engine

Modern Cross-Platform C++20 Game Engine with WYSIWYG Editor

windows linux macos Release

๐Ÿ“ฅ Download โ€ข ๐Ÿ“– Documentation โ€ข ๐Ÿ’ฌ Community


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 it

  1. Download the latest release from Releases
  2. Install the .NET 9 SDK (required for C# scripting)

System Requirements

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

โœจ Key Features

๐ŸŽจ Visual Development

  • 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

๐Ÿ”ง Development Experience

  • 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

๐ŸŽฎ Engine Capabilities

  • 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

๐Ÿ“ Format Support

  • 3D Models: OBJ, FBX, GLTF, GLB, DAE, and more
  • Audio: WAV, MP3, OGG formats
  • Textures: PNG, JPG, TGA, DDS, KTX, HDR formats

๐ŸŽฏ Graphics APIs

DirectX 11 โ€ข DirectX 12 โ€ข Vulkan โ€ข OpenGL

๐Ÿ“ธ Screenshots

Screenshot 2026-06-09 235910 Screenshot 2025-08-10 234456 Screenshot 2025-08-10 234618 Screenshot 2026-03-10 082240

๐Ÿ“– 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: 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.

๐ŸŽฏ Editor

Download pre-built binaries for Windows and Linux from Releases

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

Editor MCP Server

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.1 only (default port 27182)
  • Open Windows โ†’ MCP Server in the editor for status, endpoint copy, start/stop, and an activity log

๐Ÿ›  Building from Source

Prerequisites

  • CMake 3.20 or higher
  • C++20 compatible compiler (MSVC 2022, GCC 12+, Clang 12+)
  • Git with LFS support
  • .NET 9 SDK (Download) โ€” dotnet must be on PATH

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
cd build/bin

./UnravelEditor.exe

or

./unravel-editor

Platform-Specific Notes

Troubleshooting

  • Issue: dotnet not found โ†’ Install the .NET 9 SDK and ensure it is on PATH
  • Issue: Script compile fails โ†’ Confirm dotnet --info reports 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

๐Ÿค Community & Support

๐Ÿค Contributing

We welcome contributions! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. 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

About

Modern Cross-Platform C++ Game Engine with WYSIWYG Editor and C# Scipting

Resources

Stars

37 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages