No description
  • C# 98.6%
  • Dockerfile 1.4%
Find a file Use this template
2026-04-13 22:18:27 +02:00
.vscode chore: bumped dotnet version to 10 2026-01-23 12:40:02 +03:00
Engine@a47f8e4944 chore: bumped engine version 2026-04-03 15:08:47 +03:00
Platforms chore: updated server to use the up to date configuration interface 2026-04-13 22:18:27 +02:00
Shared feat: added mouse positioner behaviour 2026-01-28 11:20:38 +03:00
.dockerignore initial commit 2025-08-05 21:41:25 +03:00
.gitignore initial commit 2025-08-05 21:41:25 +03:00
.gitmodules chore: updated submodule link from ssh to https 2025-10-18 11:19:37 +03:00
Dockerfile fix: broken dockerfile 2026-04-06 13:12:08 +02:00
Project.sln feat: added android platform template 2025-08-09 21:50:42 +03:00
README.md chore: updated requirements section in readme 2026-04-13 22:17:04 +02:00

C# Game Project Template

A modular template for building games using my C# game engine.


📦 About

This repository provides a starting point for developing games using my C# game engine. It is structured to separate shared game logic from platform-specific implementations. I mostly use it for my own projects.

Uses

  • MonoGame Integration, for it's windowing, audio, packaging etc. You might wanna get familiar with it since most stuff is not abstracted yet like audio.
  • Yaml Integration, for serialization
  • LiteNetLib Integration, for networking

🧱 Project Structure

📁 Root/
├── Shared/              # Game logic
├── Platforms/
│   ├── Desktop/         # Desktop build target (Windows/Linux/macOS)
│   └── Server/          # Headless/server build target
├── Engine/              # Game engine (as a Git submodule)
└── README.md

🚀 Getting Started

1. Clone the Repository (with Submodules)

git clone --recursive https://git.syntriax.com/Syntriax/Engine-Template.git

⚠️ Make sure to use --recursive to initialize all submodules correctly.

If you've already cloned the repo without submodules, run:

git submodule update --init --recursive

2. Write Your Logic Code

All your universe logic should go inside the Shared/ folder.

This structure allows your code to be reused across multiple platform targets like Desktop and Server.

📁 Root/
└── Shared/ 
    └── Behaviours/
        ├── Movement.cs
        └── Jump.cs

3. Add Your Objects to Your Universe

Shared/UniverseSource.cs is set up to be your main shared entry point where you can define your universe objects and their behaviours, add systems you see fit etc.

📁 Root/
└── Shared/ 
    └── UniverseSource.cs

4. Set Project Names (Optional)

Update every mention of the MyUniverse to reflect your project's name and namespace. For example:

MyUniverse.Shared.UniverseSource.ApplyUniverse(universe);

🛠 Requirements

  • .NET SDK (version 10)