Skip to content

Repository files navigation

Donify — Open-source drone simulator for Unreal Engine 5

Donify is a C++ quadcopter flight simulator with a telemetry cockpit, a rendered aerial map, assisted takeoff and landing, and waypoint missions in an alpine village. It runs locally on Linux with Unreal Engine 5.8.1 and Vulkan.

The source is organized into three Unreal modules so contributors can work on flight dynamics, audio, or game features through explicit interfaces. The current source prerelease, 0.8.0-alpha.1, adds indoor flight through the village’s 24 main residential buildings. The cockpit and voice announcements are in French.

Watch the 4K demo · Get started · Controls · Contribute · Architecture · Guide en français

Gameplay

Watch Donify drone simulator gameplay on YouTube: an alpine village, telemetry cockpit and aerial map in Unreal Engine 5

Watch the 4K gameplay demo on YouTube — 1 min 15 · Présentation en français.

See this open-source C++ drone simulator in flight: takeoff, a complete tour around a village block, views of the facades and gardens, return to the starting point, and landing. The video records actual Unreal Engine gameplay and game audio at native 3840 × 2160, with the cockpit's proportions preserved. A visible label identifies the real-time scripted demonstration.

The creator developed Donify with GPT-6 Astra, through approximately five hours of iteration (creator estimate). The video was recorded from a development build; its block-tour recording scenario and native 4K recording options are included in 0.8.0-alpha.1. This existing outdoor demo does not show the new interiors.

The original release demo — 1 min 24 remains available with the recording guide. A normal game session starts on the pad with the motors off.

Donify in Unreal Engine: an open doorway leads into a furnished reference house with a clear interior flight passage

Indoor flight in 0.8.0-alpha.1: enter through doors or windows, cross furnished rooms, and fly between floors in the twelve detailed houses.

Features

Area Available now
Flight dynamics Six degrees of freedom at a fixed 240 Hz step; four rotor forces and moments, motor response, wind-relative drag, battery energy and voltage under load
Flight controls Stabilized manual flight, persistent altitude and horizontal velocity targets, braking to hover, assisted takeoff and landing, motor cutoff and recovery
Missions A predefined waypoint route, manual takeover, and obstacle checks
Cockpit Live flight measurements, compass, first-person and chase cameras, PNG screenshots, expandable controls and input visualization
Map A rendered overhead scene with planned route, actual flight trail, home markers, and adjustable 80–640 m field of view
Environment An alpine valley with 24 traversable main residential buildings, furnished interiors and open doors and windows; twelve detailed houses have connected floors, with vegetation and clear, overcast and rainy weather presets
Audio Motor sound driven by simulated RPM, wind, rain, impact feedback, and French announcements played from local assets
Input Keyboard controls for QWERTY/AZERTY layouts and Xbox-style gamepad mappings

The red cockpit button saves a PNG screenshot. Video recording uses the separate desktop capture script. GPS and radio indicators are decorative and labelled SIM; the cockpit does not report a real drone connection.

Quick start

Install Unreal Engine 5.8.1 with its Linux toolchain, Git, Bash, Python 3 and ripgrep. Clone the public repository and run:

git clone --branch v0.8.0-alpha.1 https://github.com/w4coder/donify.git
cd donify
export DONIFY_ENGINE_DIR="/path/to/UnrealEngine5.8"
python3 Scripts/assets.py fetch
python3 Scripts/check_architecture.py
./Scripts/build.sh
./Scripts/launch.sh

The asset command downloads versioned runtime resources separately from the source repository. The game uses local files after setup; no cloud credentials are required to play. Unreal Engine itself is installed separately and is subject to Epic's terms.

The runtime pack includes the traversable reference houses, ready to use without Blender. When upgrading, update the source and assets, rebuild, then close and relaunch the game to load the new geometry. See upgrade instructions and the indoor flight guide.

The tested graphics card is an NVIDIA RTX A5000; this is a validation machine, not a measured minimum requirement. Windows, macOS, packaged binaries and a broad range of GPUs have not been validated. The first launch may spend time compiling shaders. See installation and troubleshooting.

First flight

  1. Press T to take off, then Space / Left Ctrl to climb or descend.
  2. Use W or Z / S to move forward or backward and A or Q / D to move sideways.
  3. Press K to brake and hover. Releasing movement keys alone preserves the horizontal velocity target.
  4. Press V to switch camera, M for the waypoint mission, and L to land.
  5. Press F1 for help or R to reset the flight.

Full keyboard and gamepad controls explain the persistent propulsion setting, mode wheel and motor cutoff.

Contribute by module

Module Responsibility Useful starting point
DonifySimulation Dynamics, controller, flight types and deterministic checks; depends on Unreal Core DroneDynamics.h
DonifyAudio Sound playback, mixing, announcements and procedural fallback; receives a read-only flight snapshot DroneAudioComponent.h
Donify Input, missions, scene collisions, cockpit, world construction and diagnostics Feature map

Within Donify, the Flight, UI, World, Presentation, Diagnostics and Game folders identify the main areas of work. The simulation module is independent of actors and rendering, but still uses Unreal Core; it is not a standalone engine-free C++ library.

Useful contributions include installation portability, controller testing, HUD telemetry interfaces, mission separation, accessibility, and flight-model measurements. Read CONTRIBUTING.md for boundaries, verification and pull request guidance.

Verification

python3 Scripts/check_architecture.py
./Scripts/build.sh
./Scripts/check.sh

The runner requires 23 validation markers: one aggregate for 13 deterministic dynamics checks, plus 22 integration scenarios. Coverage includes flight controls, mission takeover, contacts, weather, audio state, persistent manual targets, recovery after motor cutoff, camera clearance, and indoor passages, solid surfaces, flight and landing. The indoor checks use the reference-house assets from this release’s runtime pack. These checks do not establish measured real-drone fidelity or compatibility with every machine.

Public release evidence and scope are recorded in RELEASE_VALIDATION.md. The development validation history retains earlier measurements. Logs, screenshots and recordings go under the ignored Saved/ directory. C++ changes require a build before launching the checks.

Documentation

Guide Content
Getting started Engine setup, assets, build, launch and troubleshooting
Controls Keyboard, gamepad, flight behavior and cockpit actions
Contribution guide Module boundaries, checks and pull requests
Architecture · French Dependencies, data contracts, units and feature locations
Flight physics · French Equations, parameters, assumptions and sources
Detailed flight guide · French Flight behavior, visual history and simulation limits
Indoor flight · French Install the houses and fly through doors, rooms and windows
Gameplay recording · French Reproduce a real-time video with isolated game audio
Release validation Public asset verification, build and test evidence
Third-party notices Asset provenance and separate licensing conditions

Current limits

Donify is an experimental simulator. Its microdrone parameters use public specifications, while inertia, aerodynamic coefficients and controller gains remain estimates that have not been calibrated against recorded manufacturer flight data. Stabilization uses exact simulation state; sensor noise, visual positioning, radio loss, firmware restrictions, detailed ground effect and blade aerodynamics are not modeled.

The waypoint mission follows a fixed route and stops assistance when an obstacle blocks it; it does not plan a detour. Indoor flight is manual, doors and window leaves stay open, and attics remain decorative. Cars remain parked. The detailed reference street does not represent the visual quality of the entire town. Physical gamepad calibration and cross-platform behavior still need testing. There is no GPT integration or real-drone control connection.

License and credits

The original project source and documentation are available under the MIT License. Unreal Engine and third-party resources are not relicensed by that file. Review THIRD_PARTY_NOTICES.md before redistributing assets or generated media.

Donify is an independent project. References to real drone specifications describe simulation inputs and do not imply manufacturer affiliation or endorsement.

About

Open-source drone flight simulator built with Unreal Engine 5.8 and modular C++. Stabilized flight, FPV cockpit, waypoint missions, weather, battery simulation and an alpine village. Linux source alpha.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages