Merge pull request #10427 from raulsntos/dotnet/changes-in-4.4

C#: Update platform support for 4.4 and new minimum required TFM
This commit is contained in:
Max Hilbrunner
2024-12-20 18:48:07 +01:00
committed by GitHub
5 changed files with 21 additions and 32 deletions

View File

@@ -463,14 +463,12 @@ Scripting
:ref:`C#: <toc-learn-scripting-C#>`
- Packaged in a separate binary to keep file sizes and dependencies down.
- Supports .NET 6 and higher.
- Supports .NET 8 and higher.
- Full support for the C# 10.0 syntax and features.
- Full support for the C# 12.0 syntax and features.
- Supports Windows, Linux, and macOS. As of 4.2 experimental support for Android
and iOS is also available (requires a .NET 7.0 project for Android and 8.0 for iOS).
- Supports Windows, Linux, and macOS. Since Godot 4.2, experimental support for Android and iOS is also available.
- On the Android platform only some architectures are supported: ``arm64`` and ``x64``.
- On the iOS platform only some architectures are supported: ``arm64``.
- The web platform is currently unsupported. To use C# on that platform,
consider Godot 3 instead.

View File

@@ -115,7 +115,7 @@ should be aware of its garbage collector.
can download it on the Godot website's `download
<https://godotengine.org/download/>`_ page.
Since Godot uses .NET 6, in theory, you can use any third-party .NET library or
Since Godot uses .NET 8, in theory, you can use any third-party .NET library or
framework in Godot, as well as any Common Language Infrastructure-compliant
programming language, such as F#, Boo, or ClojureCLR. However, C# is the only
officially supported .NET option.

View File

@@ -14,7 +14,7 @@ and (re)visit the :ref:`Scripting section <doc_scripting>` of the
step-by-step tutorial.
C# is a high-level programming language developed by Microsoft. In Godot,
it is implemented with .NET 6.0.
it is implemented with .NET 8.0.
.. attention::

View File

@@ -20,10 +20,10 @@ of the language, we encourage you to do the same, especially if you do not have
Language specification
----------------------
Godot currently uses **C# version 10.0** in its engine and example source code,
as this is the version supported by .NET 6.0 (the current baseline requirement).
Godot currently uses **C# version 12.0** in its engine and example source code,
as this is the version supported by .NET 8.0 (the current baseline requirement).
So, before we move to a newer version, care must be taken to avoid mixing
language features only available in C# 11.0 or later.
language features only available in C# 13.0 or later.
For detailed information on C# features in different versions, please see
`What's New in C# <https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/>`_.

View File

@@ -42,33 +42,24 @@ C# API may be different from GDScript.
C# platform support
-------------------
As of Godot 4.2 projects written in C# support all desktop platforms (Windows, Linux,
.. seealso::
See :ref:`doc_system_requirements` for hardware and software version
requirements for the Godot engine.
.. note::
Since C# projects use the .NET runtime, also check the system requirements
for the version of .NET that you'll be using.
See `supported OS <https://github.com/dotnet/core/tree/main/release-notes#supported-os>`_.
Since Godot 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 Godot for existing projects.
The following property is added to new projects created with 4.2 and can be
added to existing projects:
.. code-block:: xml
<TargetFramework Condition=" '$(GodotTargetPlatform)' == 'android' ">net7.0</TargetFramework>
- Only some Android architectures are supported: ``arm64`` and ``x64``.
Android support is currently experimental.
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 Godot for existing projects.
The following property is added to new projects created with 4.2 and can be
added to existing projects:
.. code-block:: xml
<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.