Skip to content

Contributing

Valk edited this page Aug 8, 2025 · 66 revisions

Prerequisites

In order to run the game you will need the latest Godot C# and .NET 8.0 SDK and maybe a Custom Build of ENet if you are a Linux or Mac user.

You will need to setup an IDE, here are setup guides for Visual Studio 2022 (highly recommended) and Visual Studio Code. While not required, I highly recommend installing GitHub Desktop App as it greatly simplifies interactions with git.

Clone the repository with git clone --recurse-submodules https://github.com/CSharpGodotTools/Template and open the project.godot file to open the project.

In Godot > Editor > Editor Settings, search for "external" and make sure Use External Editor is enabled and External Editor is set to your IDE.

image image

Open up a script from Godot at least once so Godot has a chance to generate the proper assemblies otherwise you may see some missing types.

Guidelines

Normally, when setting up a new project using Template, you would run the setup scene, which replaces the root namespace __TEMPLATE__ in various scripts with the game name you specify. However, since we are contributing directly to Template, we should avoid running this setup.

That said, if creating a separate project helps you develop features or contributions more effectively, you are welcome to use the setup process to generate a separate project for that purpose.

Keep in mind that GodotUtils is a separate submodule. This means you can work on GodotUtils from any project without needing to recreate or reconfigure the Template project. However, if you are making contributions to Template itself, you will need to manually copy your changes across both the Template repository and any separate project repository you are using.

Please have a brief look at the Template's Coding Standards.

Tips

Press F5 to run the main scene and press F6 to run the currently open scene. The level scene is located in res://Level.tscn.

Contact

If you have any questions you can send me a message over Discord, my username is valky5

Resource Links

Clone this wiki locally