Home
Softono
Prowl

Prowl

Open source MIT C#
781
Stars
79
Forks
23
Issues
17
Watchers
1 week
Last Commit

About Prowl

Prowl is an open-source 3D game engine written in pure C using the latest .NET runtime and released under the MIT license. It is designed as a lightweight, Unity-like alternative, featuring a Unity-inspired API and editor designed to feel familiar to Unity developers while following KISS principles to remain small and customizable. The goal is to enable straightforward porting of Unity projects. Key features include cross-platform support for Windows, Linux, and Mac, C scripting, and a GameObject and Component-based architecture. It includes a full editor with support for editor scripts and custom editors, built on a custom UI library that powers both in-game and editor interfaces with immediate mode rendering and retained properties. The engine includes 3D drawing within the UI for gizmos and integrates Jitter Physics 2 for physics simulation. Built on .NET 9, Prowl is currently in early development and is not yet production-ready, but it is actively developed with community contributions encouraged.

Platforms

Web Self-hosted Windows

Languages

C#

Links

[!NOTE] Prowl is currently in early development and not yet stable for production use. While the core functionality is in place, expect frequent changes, missing features, and potential bugs. Enthusiasts and contributors are welcome to explore and help shape the engine, but we recommend waiting for a more stable release before using it for serious game projects.

Prowl logo image

Github top languages GitHub version GitHub license GitHub issues GitHub stars Discord

๐ŸŽฎ An Open Source Unity-like Engine! ๐ŸŽฎ

  1. About The Project
  2. Features
  3. Getting Started
  4. Roadmap
  5. Contributing
  6. Acknowledgments
  7. License

๐Ÿ“ About The Project ๐Ÿ“

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 unstable, and it is not yet Game Ready, however, we are hopeful that Prowl will be stable and ready by the end of this year.

Join our Discord server! ๐ŸŽ‰

Screenshot 2024-06-27 172952 Screenshot 2024-06-27 172106
image image
image image
UntitledFLightModel Untitled

โœจ Features โœจ

  • 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 9
    • Editor with support for Editor Scripts and Custom Editors
    • Physics using Jitter Physics 2
      • Colliders: Box, Sphere, Capsule, Cylinder, Cone, Convex Mesh
      • Collision Layers
    • Unity-like Coroutines
    • Playtest directly in the Editor
    • ScriptableObjects
    • Projects & Project Settings
    • Powerful 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
      • Supports Nested Prefabs
    • Build System - Build to Standalone Application
      • Packed Asset files
      • Tiny builds
      • Only exports used assets
      • Supports Windows, Mac & Linux
    • Navmesh and AI Agents (Recast & Detour)
    • Node Graph (Based on Unity's xNode)
  • Graphics Rendering:

    • Near Identical API to Unity
    • Modular Graphics Backend
      • OpenGL
      • OpenGL ES
      • Vulkan
      • Metal
      • DirectX 11
    • HDR, PBR (Physically Based Rendering)
      • Albedo Map
      • Normal Map
      • Roughness Map
      • Metallic Map
      • Ambient Occclusion Map
    • Forward Renderer
    • Batching & Frustum Culling
    • Motion Vectors
    • Multiple Shader Passes
    • Point, Spot, and Directional Lights
      • Spot & Directional Light Shadows - Point shadows is not implemented
      • Shadow Atlas
      • Dynamic Shadow Resolutions
    • Post Processing
      • Tonemapping (Melon, Aces, Reinhard, Uncharted, Filmic)
      • Motion Blur
      • Very fast Kawase Bloom
    • Transparency
    • Procedural Super Performant Skybox
    • Dynamic Resolutions Per Camera
  • Asset Pipeline:

    • A Powerful Asset Pipeline
    • 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

(back to top)

๐Ÿš€ Getting Started ๐Ÿš€

Getting Prowl up and running is super easy!

Releases

Note: There are no official releases yet so you need to download this repository to use Prowl!

Build from source

Prerequisites

Installation

  1. Clone the repo
  2. Open .sln with your editor (Visual Studio Version 17.8.0+, VSCode, Rider, etc.)
  3. Run UpdateSubmodules.bat (on Windows) or UpdateSubmodules.sh (on Linux)
  4. That's it! ๐Ÿ˜„ ๐ŸŽ‰

    (back to top)

๐Ÿ—บ๏ธ Roadmap ๐Ÿ—บ๏ธ

Engine

  • ๐Ÿ› ๏ธ Cross Platform
    • โœ”๏ธ Windows
    • โœ”๏ธ MacOS
    • โœ”๏ธ Linux
    • โŒ Android
    • โŒ iOS
    • โŒ Web
  • โœ”๏ธ UI Engine
  • โŒ VR Support
  • โœ”๏ธ Navmesh and AI Agents
  • ๐Ÿ› ๏ธ Networking Solution

Rendering

Editor

  • โŒ Animation Tools
  • โŒ 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.

(back to top)

๐Ÿค Contributing ๐Ÿค

Check our Contributing guide to see how to be part of this team.

(back to top)

๐Ÿ™ Acknowledgments ๐Ÿ™

  • 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.

Contributors ๐ŸŒŸ

Dependencies ๐Ÿ“ฆ

Runtime

Editor

(back to top)

๐Ÿ“œ License ๐Ÿ“œ

Distributed under the MIT License. See LICENSE for more information.

(back to top)


Join our Discord server! ๐ŸŽ‰

Discord