https://github.com/nebula-developer/yoru-engine
🌃 C# Game/Application Framework
https://github.com/nebula-developer/yoru-engine
app-framework crossplatform framework game-framework skiasharp
Last synced: 29 days ago
JSON representation
🌃 C# Game/Application Framework
- Host: GitHub
- URL: https://github.com/nebula-developer/yoru-engine
- Owner: Nebula-Developer
- License: mit
- Created: 2024-02-21T09:41:46.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-26T07:18:27.000Z (over 1 year ago)
- Last Synced: 2025-11-14T23:32:00.269Z (3 months ago)
- Topics: app-framework, crossplatform, framework, game-framework, skiasharp
- Language: C#
- Homepage:
- Size: 1.27 MB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🌙 Yoru Engine
### Flexible 2D game/application framework for crossplatform development
## About
Yoru is a software development framework written in C#, designed for creating crossplatform apps and games. Backed by the capabilities of SkiaSharp, Yoru provides a direct approach towards developing scalable and production-ready software, that runs smoothly across [all platforms](#platforms). See the [example project](Yoru.Example/Program.cs) for a demonstration of Yoru's capabilities.
### Structure
Applications made with Yoru have a simple structure, consisting of `Application`, `Desktop` and `Mobile` projects.
- `Application` is the main project, where the application logic is written.
- `Desktop` is the project for desktop applications, and is used to run the application on Windows, macOS and Linux.
- `Mobile` is the project for mobile applications, and is used to run the application on iOS and Android.
Yoru provides an abstract `Renderer` class, that allows a single SkiaSharp canvas to be consistently used across all platforms. Audio, input, and other features undergo a similar process, allowing for a seamless development experience.
### Platforms
Yoru was designed with the goal of allowing a single C# project to run smoothly across common operating systems, without requiring platform-specific code. Yoru utilises both [OpenTK](https://opentk.net/) and [.NET Maui](https://dotnet.microsoft.com/en-us/apps/maui) to provide native support for Windows, macOS, Linux, iOS and Android, and bridges platform-specific commands to a global interface for straightforward development.
The following platforms are (planned to be) supported by Yoru:
- [x] Windows 10+
- [x] macOS 10.12+
- [x] Linux (Ubuntu, Fedora, etc.)
- [ ] iOS 11+
- [ ] Android 5.0+
## Installation
#### You may find the Nuget package [Here.](https://www.nuget.org/packages/Yoru)
### .NET CLI
dotnet add package Yoru --prerelease
### Common Issues
You may encounter missing library issues on Linux, usually for [fontconfig](https://www.freedesktop.org/wiki/Software/fontconfig/). You should be able to find the development package for your distribution, otherwise you may use the following commands:
#### Debian
`sudo apt install libfontconfig-dev`
#### Arch
`sudo pacman -S fontconfig`
#### Fedora
`sudo dnf install fontconfig-devel`
## Usage
### More information and/or a wiki will be added later. For an example project, see [the example project.](Yoru.Example/Program.cs)