Prowl is an open-source, MIT-licensed game engine developed in pure C# in latest .NET.
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.
Please keep in mind that Prowl is incredibly new and under very active development, Untill a full 1.0 release comes out, breaking changes are expected.
![]() |
![]() |
|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
-
General:
- Cross-Platform! Windows, Linux & Mac!
- Unity-like Editor & Scripting API
- C# Scripting with .NET 9
- GameObject & MonoBehaviour Component Architecture
- Custom Immediate Mode UI (Paper)
- Vector Graphics & Text Rendering via Quill
- Full-Featured Editor
- Scene View, Hierarchy, Inspector, Project Browser, Console, Game View
- Custom Component Editors, Property Editors, and Scene View Editors
- Transform Gizmos (Move, Rotate, Scale)
- Undo/Redo System
- Dockable & Resizable Panels with Layout Persistence
- Drag & Drop (Assets, GameObjects, Components)
- Multi-Select & Search/Filtering in Editor Panels
- Asset Thumbnail Generation & 3D Previews
- Animation Curve & Gradient Editors
- Rebindable Shortcut/Hotkey System
- Editor Theming with Customizable Color Palettes and sizing
- Playtest directly in the Editor
- Physics using Jitter Physics 2
- Colliders: Box, Sphere, Capsule, Cylinder, Cone, Convex Hull, Mesh, Model, Terrain
- Constraints: Ball Socket, Hinge, Fixed Angle, Cone Limit, Distance Limit, Angular Motor, Linear Motor
- Character Controller
- Collision Layers & Filtering
- Raycasting & Shape Casting
- Audio via MiniAudio
- Spatial 3D Audio with Attenuation & Doppler
- Supports WAV, MP3, OGG, FLAC
- Effect chain (Delay, Distortion, Biquad Filter, Reverb, Phaser) + custom
IAudioEffect
- Serialization via Prowl.Echo
- Tags & Layers System
- Scene System with Fog & Ambient Lighting
- Prefabs with Nested Prefab Support
- Apply, Revert, Break Instance & Override Tracking
- Projects & Project Settings
- Script Compilation via dotnet build (Game & Editor Assemblies)
- Input Action System with Composites & Processors
.inputactionsassets with a dedicated editor- Action phases (Disabled / Started / Performed / Cancelled)
- Composite bindings (WASD → Float2, D-pad, etc.) for keyboard, mouse & gamepad
- Math via Prowl.Vector
- Matrices (
Float4x4), Quaternions, Transform2D - Shapes: AABB, Bounds, Frustum, Cone, Ray, Plane, LineSegment, Rect
- Matrices (
- Build System - Build to Standalone Application
- Packed Asset Files (.prowlpak)
- Only exports used assets
- Supports Windows, Mac & Linux
-
Graphics Rendering:
- OpenGL Backend via Silk.NET
- Dedicated Render Thread
- Extensible Render Pipeline (Custom Pipelines Supported)
- Forward-Lit Pipeline with Thin G-Buffer Pre-Pass (Depth, Normals, Motion, Roughness, Metallic)
- Custom UV-Unwrapper and Lightmapper
- Baked Light Probes
- Custom Shader Language with #include Support, Multi-Pass, and Shader Keywords/Variants
- Node-Based Shader Graph
- 150+ nodes across 14 categories (Math, Vector, Color, UV, Geometry, Scene Data, Lighting, Noise, Post-Effect, Utility, …)
- Vertex-stage support (Position offset for wind / wobble / displacement)
- Fragment + Vertex + DepthNormals + Shadow pass emission from one graph
- Alpha cutout + vertex offset forwarded into shadow & depth passes automatically
- Lighting modes: Unlit / PBR / Lambert / Blinn-Phong
- Template seed graphs (Lit Basic / Transparent / Terrain / Grass / Particle / Sky / Post Effect / Custom Lighting)
- Inline Custom Code (raw GLSL) node
- Control flow (Branch), Local Get/Set variables
- Noise nodes (FastNoiseLite): OpenSimplex2 / OpenSimplex2S / Perlin / Value / Cellular (Voronoi) / Domain Warp, with FBM / Ridged / PingPong fractal variants
- HDR & PBR (Physically Based Rendering) - Metallic Workflow
- Albedo, Normal, Surface (AO / Roughness / Metallic), Emission Maps
- Mesh Renderer & Skinned Mesh Renderer with Bone Animation
- Line Renderer
- Render Textures & Texture3D
- GPU Instancing & Frustum Culling
- Point, Spot, and Directional Lights
- All light types support Shadow Mapping
- Cascaded Shadow Maps for Directional Lights (up to 4 cascades)
- Cubemap Shadows for Point Lights
- Shadow Atlas with Dynamic Packing
- Post Processing
- HDR Tonemapping (ACES / Reinhard / Uncharted / Filmic / Melon / AgX)
- Bloom (dual-filter downsample/upsample)
- FXAA (Fast Approximate Anti-Aliasing)
- TAA (Temporal Anti-Aliasing)
- Ground-Truth Ambient Occlusion (GTAO)
- Stochastic Screen Space Reflections (SSR)
- Bokeh Depth of Field
- Volumetric Fog
- Cinematic Effects (grain, vignette, chromatic aberration)
- Transparency
- Grab Pass (depth-aware) for refraction / heat-haze / frosted glass
- Procedural / Cubemap / Gradient Skybox
- Terrain System
- Quadtree LOD
- Heightmap & Splatmap Painting
- GPU-Instanced Grass Rendering
- Tree Rendering with LOD Distance
- Dedicated Terrain Editor (Height, Paint, Grass, Trees, Settings)
- Holes
- Particle System
- GPU-Instanced Rendering
- Modules: Emission, Size/Color/Rotation/Velocity Over Lifetime, Collision, UV Animation
- Local & World Simulation Spaces
-
Asset Pipeline:
- GUID-Based Asset References with Meta Files
- Import Caching & File Watching for Auto-Reimport
- Custom Importers via Attributes
- Sub-Assets with Deterministic GUIDs
- Forward & Reverse Dependency Tracking
- Threaded Asset Loading
- Supported Formats:
- Models: GLTF, GLB, OBJ (Custom Importer, FBX Planned)
- Textures: PNG, JPG, BMP, TGA, PSD, HDR, DDS, EXR (via Magick.NET)
- Audio: WAV, MP3, OGG, FLAC
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
.slnwith your editor (Visual Studio Version 17.8.0+, VSCode, Rider, etc.) - That's it! 😄 🎉
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.
- Michael (Wulferis)
- Abdiel Lopez (PaperPrototype)
- Josh Davis
- ReCore67
- Isaac Marovitz
- Kuvrot
- JaggerJo
- Jihad Khawaja
- Jasper Honkasalo
- Kai Angulo (k0t)
- Bruno Massa
- Mark Saba (ZeppelinGames)
- Chandler Cox (Tryibion)
- EJTP (Unified)
- Paolo (xZekro51)
- Kouame Benoit Junior Augustin (ZedDevStuff)
- Silk.NET - Windowing, Input, OpenGL & Audio Bindings
- Jitter Physics 2 - Physics Engine
- Magick.NET - Image Processing
- Prowl.Echo - Serialization
- Prowl.Paper - UI Framework
- Prowl.Origami - Component Library for Paper
- Prowl.Quill - Vector Graphics & Text Rendering
- Prowl.Scribe - TrueType font parsing, glyph rasterization & markdown layout
- Prowl.Rosetta - For Editor Localisation
- Prowl.Vector - 64-bit Math Library
Distributed under the MIT License. See LICENSE for more information.







