Prowl is an open-source, MIT-licensed game engine developed in pure C# in latest .NET, (which surprisingly has no runtime fees believe it or not! 😮).
It aims to provide a seamless transition for developers familiar with Unity by maintaining a similar API while also following KISS and staying as small and customizable as possible. Ideally, Unity projects can port over with as little resistance as possible.
-
General:
- Cross-Platform! Windows, Linux & Mac!
- Unity-like Editor & Scripting API
- C# Scripting
- GameObject & Component structure
- A Powerful Custom UI Library
- Same Library for in-game and Editor UI
- 3D Drawing in UI used for Gizmo's
- Immediate Mode with retained properties
- .NET 8
- Editor with support for Editor Scripts and Custom Editors
- Physics (Bepu Physics 2)
- Colliders: Box, Sphere, Capsule, Cylinder,
Mesh Collider- Needs to be re-implemented - Triggers
- Raycasts and Sweeps
- Non-Kinematic Character Controller (Just a fancy rigidbody)
- Supports Moving Platforms
- A ton of physical constraints (All of Bepu's constraints)
- Colliders: Box, Sphere, Capsule, Cylinder,
- Unity-like Coroutines
- Playtest directly in the Editor
- ScriptableObjects
- Projects & Project Settings
- Unity-like Serializer to create In-Memory Graphs
- Graph → Custom Text Format
- Graph → Binary
- Fully 64-bit using Doubles
- Large World Coordinates Support
- Camera Relative Rendering
- Scene System
- Modular Audio Backend
- OpenAL
- Currently only supports .wav files
- Prefabs
- Build System - Build to Standalone Application
- Packed Asset files
- Less than 15 MB builds (currently working on removing 10 MB, almost done!)
- Only exports used assets
- Supports Windows, Mac & Linux
- Navmesh and AI Agents (Recast & Detour)
-
Graphics Rendering:
- Modular Graphics Backend
- OpenGL
- OpenGL ES
- Vulkan
- Metal
- Powerful Customizable Node-Graph based Render Pipeline
- PBR (Physically Based Rendering) using Cook-Torrance BRDF
- Albedo Map
- Normal Map
- Roughness Map
- Metallic Map
- Ambient Occclusion Map
- Emission Map
- Forward Renderer
- Multiple Shader Passes
- Point, Spot, and Directional Lights
- Spot & Directional Light Shadows - Point shadows is not implemented
- Shadow Atlas
- Dynamic Shadow Resolutions
- Post Processing
- HDR with Tonemapping (Melon, Aces, Reinhard, Uncharted, Filmic)
- Transparency
- Procedural Super Performant Skybox
- Modular Graphics Backend
-
Asset Pipeline:
- A Powerful Asset Pipeline with a very similar structure to unity
- Meta Files & Reference by GUID
- Import Caching
- Support for Custom Importers
- Supports many major file formats via ImageMagick, Assimp, etc.
- Sub-Assets, Assets stored inside other assets
- Dependency Tracking
Getting Prowl up and running is super easy!
Note: There are no official releases yet so you need to download this repository to use Prowl!
- Clone the repo
- Open
.sln
with your editor (Visual Studio Version 17.8.0+, VSCode, Rider, etc.) - Run
UpdateSubmodules.bat
(on Windows) orUpdateSubmodules.sh
(on Linux) - That's it! 😄 🎉
- 🛠️ Cross Platform
- ✔️ Windows
- ✔️ MacOS
- ✔️ Linux
- ❌ Android
- ❌ iOS
- ❌ Web
- ✔️ UI Engine
- ❌ VR Support
- ✔️ Navmesh and AI Agents
- 🛠️ Networking Solution
- ❌ SSAO, Screen-Space Decals, etc.
- ❌ Realtime GI
- ❌ Lightmaps and Light Probes
- ❌ Cascaded shadow mapping
- ❌ Particle System
- ❌ Terrain Engine
- 🛠️ Package Manager (Packages partially implemented)
- ❌ Animation Tools
- 🛠️ Visual Scripting
- ❌ Material Node Editor
- ❌ 2D Support
The complete list is in our board. Also, see the open issues for a full list of proposed features and known issues.
Check our Contributing guide to see how to be part of this team.
- Hat tip to the creators of Raylib, While we are no longer based upon it, it has shaved off hours of development time getting the engine to a usable state.
- Some ideas/code have been taken from the amazing 2D Engine Duality.
- Michael (Wulferis)
- Abdiel Lopez (PaperPrototype)
- Josh Davis
- ReCore67
- Isaac Marovitz
- Kuvrot
- JaggerJo
- Jihad Khawaja
- Jasper Honkasalo
- Kai Angulo (k0t)
- Bruno Massa
- Mark Saba (ZeppelinGames)
- Assimp via Assimp.NET
- ImageMagick via Magick.NET
Distributed under the MIT License. See LICENSE for more information.