GitHub - unravel-dev/UnravelEngine: Modern Cross-Platform C++ Game Engine with WYSIWYG Editor and C# Scipting

4 min read Original article โ†—

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

  1. Download the latest release from Releases
  2. Extract and run ะตditor.exe (Windows) or ะตditor (Linux)
  3. 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

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: Download and install Mono before using the engine.

Note for Linux users: Install the mono-complete package 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

๐Ÿค 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