Attention: Here be dragons (unstable version)

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Redot.

C#/.NET

C# is a high-level programming language developed by Microsoft. Redot supports C# as an option for a scripting language, alongside Redot's own GDScript.

The standard Redot executable does not contain C# support out of the box. Instead, to enable C# support for your project you need to download a .NET version of the editor from the Redot website.

Redot API for C#

As a general purpose game engine Redot offers some high-level features as a part of its API. Articles below explain how these features integrate into C# and how C# API may be different from GDScript.

C# platform support

As of Redot 4.2 projects written in C# support all desktop platforms (Windows, Linux, and macOS), as well as Android and iOS.

Android support is currently experimental and has a few limitations.

  • Projects targeting Android need to target .NET 7.0 or higher. This requires modifying the .csproj file generated by Redot for existing projects. The following property is added to new projects created with 4.2 and can be added to existing projects:

    <TargetFramework Condition=" '$(GodotTargetPlatform)' == 'android' ">net7.0</TargetFramework>
    
  • Only some Android architectures are supported: arm64 and x64.

iOS support is currently experimental and has a few limitations.

  • Projects targeting iOS need to target .NET 8.0 or higher. This requires modifying the .csproj file generated by Redot for existing projects. The following property is added to new projects created with 4.2 and can be added to existing projects:

    <TargetFramework Condition=" '$(GodotTargetPlatform)' == 'ios' ">net8.0</TargetFramework>
    
  • The official export templates for the iOS simulator only supports the x64 architecture.

  • Exporting to iOS can only be done from a MacOS device.

Currently, projects written in C# cannot be exported to the web platform. To use C# on that platform, consider Redot 3 instead.