Skip to content

Repository files navigation

Steps To Use This Template

  • replace the license file with your desired license
  • rename solution, test, benchmarks, and main .csproj and reconnect their dependencies to eachother
    • I recommend using the command just rename YourProjectName in the project root for this
    • you can read more about the just command runner first if you're skeptical about the tool
    • on windows install with winget install Casey.Just, use just in this directory to list commands included in the justfile
  • replace this readme

Optionally

  • in Source/YourProject.csproj, switch <OutputType>Library</OutputType> to <OutputType>Exe</OutputType> or another output type
  • double check the dotnet version in Source/YourProject.csproj, there is a table below with ideal versions for Unity & Godot
  • add/remove items in .gitignore
  • uncomment categories in .gitconfig to enable better merge tools for unity projects

Unity & Godot Game Engine Language Support

If you need to target both Unity and Godot, I would currently recommend netstandard 2.1 and C# 8. Unity is working on switching to MSBuild but I wouldn't expect it any time soon.

Last updated: 2026-05-27

Engine Version .NET Version C# Version Backend Build System Compiler Nuget
Unity 4 or earlier .NET framework 3.5 C# 3.5 Mono Unity Build Proprietary
Unity 5 .NET framework 3.5 C# 3.5 Mono or IL2CPP Unity Build Proprietary
Unity 2017.1 .NET framework 4.x C# 6.0 Mono or IL2CPP Unity Build Proprietary 🟨
Unity 2018.1 netstandard 2.0 C# 7.3 Mono or IL2CPP Unity Build Proprietary 🟨
Unity 2021.2 netstandard 2.1 C# 9.0* Mono or IL2CPP Unity Build Roslyn 🟨
Unity 6 netstandard 2.1 C# 9.0* Mono or IL2CPP Unity Build Roslyn 🟨
Godot 3.x .NET framework 4.7.2 C# 7.3 Mono MSBuild Roslyn 🟨
Godot 4.x Default .NET 8 C# 12 CoreCLR MSBuild Roslyn
Godot 4.x Web Unsupported ❌
Godot 4.x Android Min .NET 9 C# 13 CoreCLR MSBuild Roslyn
Godot 4.x IOS Min .NET 8 C# 12 CoreCLR MSBuild Roslyn
Godot 4.x Max .NET 9 C# 13 CoreCLR MSBuild Roslyn
  • *Unity does not support all features of C# 9, It does fully support up through C# 8 in versions marked with *.
  • 🟨 instructions for adding nuget packages to a Unity project can be found here
  • 🟨 nuget package support in Godot 3.x was a little rough, expect to need to clear your build cache and restart the MSBuild server occaisionally

About

A template for C# libraries or projects with seperate benchmarking and unit testing out of the box. Has extensive git configuration for game projects.

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages