Skip to content

Commit

Permalink
Merge pull request godotengine#8227 from raulsntos/csharp-support-update
Browse files Browse the repository at this point in the history
Update the state of C#/.NET support as of 4.2 beta 1
  • Loading branch information
mhilbrunner authored Oct 18, 2023
2 parents c9cafea + f8ed631 commit c631f75
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 20 deletions.
13 changes: 7 additions & 6 deletions about/list_of_features.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,10 @@ Godot aims to be as platform-independent as possible and can be

.. note::

Projects written in C# using Godot 4 currently cannot be exported to iOS
and web platforms. To use C# on those platforms, consider Godot 3 instead.
Android platform support is available as of Godot 4.2, but is experimental
and :ref:`some limitations apply <doc_c_sharp_platforms>`.
Projects written in C# using Godot 4 currently cannot be exported to the
web platform. To use C# on that platform, consider Godot 3 instead.
Android and iOS platform support is available as of Godot 4.2, but is
experimental and :ref:`some limitations apply <doc_c_sharp_platforms>`.

Editor
------
Expand Down Expand Up @@ -441,10 +441,11 @@ Scripting
- Full support for the C# 10.0 syntax and features.

- Supports Windows, Linux, and macOS. As of 4.2 experimental support for Android
is also available (requires a .NET 7.0 project).
and iOS is also available (requires a .NET 7.0 project for Android and 8.0 for iOS).

- On the Android platform only some architectures are supported: ``arm64`` and ``x64``.
- iOS and web platforms are currently unsupported. To use C# on those platforms,
- 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.

- Using an external editor is recommended to benefit from IDE functionality.
Expand Down
8 changes: 4 additions & 4 deletions getting_started/step_by_step/scripting_languages.rst
Original file line number Diff line number Diff line change
Expand Up @@ -128,10 +128,10 @@ officially supported .NET option.

.. attention::

Projects written in C# using Godot 4 currently cannot be exported to iOS
and web platforms. To use C# on those platforms, consider Godot 3 instead.
Android platform support is available as of Godot 4.2, but is experimental
and :ref:`some limitations apply <doc_c_sharp_platforms>`.
Projects written in C# using Godot 4 currently cannot be exported to the web
platform. To use C# on that platform, consider Godot 3 instead.
Android and iOS platform support is available as of Godot 4.2, but is
experimental and :ref:`some limitations apply <doc_c_sharp_platforms>`.

C++ via GDExtension
~~~~~~~~~~~~~~~~~~~
Expand Down
8 changes: 4 additions & 4 deletions tutorials/scripting/c_sharp/c_sharp_basics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ it is implemented with .NET 6.0.

.. attention::

Projects written in C# using Godot 4 currently cannot be exported to iOS
and web platforms. To use C# on those platforms, consider Godot 3 instead.
Android platform support is available as of Godot 4.2, but is experimental
and :ref:`some limitations apply <doc_c_sharp_platforms>`.
Projects written in C# using Godot 4 currently cannot be exported to the web
platform. To use C# on that platforms, consider Godot 3 instead.
Android and iOS platform support is available as of Godot 4.2, but is
experimental and :ref:`some limitations apply <doc_c_sharp_platforms>`.

.. note::

Expand Down
34 changes: 28 additions & 6 deletions tutorials/scripting/c_sharp/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,35 @@ C# platform support
-------------------

As of Godot 4.2 projects written in C# support all desktop platforms (Windows, Linux,
and macOS), as well as Android. Android support is currently experimental and has a few
limitations.
and macOS), as well as Android and iOS.

- Projects targeting Android need to be created using .NET 7.0 or higher. This requires
modifying the `.csproj` file generated by Godot.
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``.

Currently, projects written in C# cannot be exported to iOS and web platforms. To use C#
on those platforms, consider Godot 3 instead.
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.

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

0 comments on commit c631f75

Please sign in to comment.