Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 8 additions & 6 deletions about/faq.rst
Original file line number Diff line number Diff line change
Expand Up @@ -81,12 +81,14 @@ the long run, for prototyping, developing Minimum Viable Products (MVPs), and
focusing on Time-To-Market (TTM), GDScript will provide a fast, friendly, and capable
way of developing your games.

Note that C# support is still relatively new, and as such, you may encounter some
issues along the way. Our friendly and hard-working development community is always
ready to tackle new problems as they arise, but since this is an open source project,
we recommend that you first do some due diligence yourself. Searching through
discussions on `open issues <https://github.com/godotengine/godot/issues>`_ is a
great way to start your troubleshooting.
Note that C# support is still relatively new, and as such, you may encounter
some issues along the way. C# support is also currently missing on Android, iOS
and web platforms. Our friendly and hard-working development community is always
ready to tackle new problems as they arise, but since this is an open source
project, we recommend that you first do some due diligence yourself. Searching
through discussions on
`open issues <https://github.com/godotengine/godot/issues?q=is%3Aopen+is%3Aissue+label%3Atopic%3Adotnet>`__
is a great way to start your troubleshooting.

As for new languages, support is possible via third parties with GDExtensions. (See the question
about plugins below). Work is currently underway, for example, on unofficial bindings for Godot
Expand Down
3 changes: 2 additions & 1 deletion about/list_of_features.rst
Original file line number Diff line number Diff line change
Expand Up @@ -433,7 +433,8 @@ Scripting

- Full support for the C# 10.0 syntax and features.

- Supports Windows, Linux and macOS.
- Supports Windows, Linux and macOS. Mobile/web platforms are currently
unsupported. To use C# on mobile/web platforms, use Godot 3 instead.
- Using an external editor is recommended to benefit from IDE functionality.

**GDExtension (C, C++, Rust, D, ...):**
Expand Down
8 changes: 7 additions & 1 deletion getting_started/step_by_step/scripting_languages.rst
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ languages, including Squirrel, Lua, and Python.
As Microsoft's `C#
<https://en.wikipedia.org/wiki/C_Sharp_(programming_language)>`_ is a favorite
amongst game developers, we officially support it. C# is a mature and flexible
language with tons of libraries written for it. We could add support for it
language with tons of libraries written for it. We were able to add support for it
thanks to a generous donation from Microsoft.

.. image:: img/scripting_csharp.png
Expand All @@ -126,6 +126,12 @@ officially supported .NET option.
in GDScript, C#, or C++ won't have a significant impact on
performance.

.. attention::

Projects written in C# using Godot 4.x currently cannot be exported to
Android, iOS and web platforms. To use C# on those platforms, use Godot 3
instead.

C++ via GDExtension
~~~~~~~~~~~~~~~~~~~

Expand Down
5 changes: 5 additions & 0 deletions tutorials/export/exporting_for_android.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@ Exporting for Android
Exporting for Android has fewer requirements than compiling Godot for Android.
The following steps detail what is needed to set up the Android SDK and the engine.

.. attention::

Projects written in C# using Godot 4 currently cannot be exported to Android.
To use C# on Android, use Godot 3 instead.

Install OpenJDK 11
------------------

Expand Down
5 changes: 5 additions & 0 deletions tutorials/export/exporting_for_ios.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@ These are the steps to load a Godot project in Xcode. This allows you to
build and deploy to an iOS device, build a release for the App Store, and
do everything else you can normally do with Xcode.

.. attention::

Projects written in C# using Godot 4 currently cannot be exported to iOS.
To use C# on iOS, use Godot 3 instead.

Requirements
------------

Expand Down
5 changes: 5 additions & 0 deletions tutorials/export/exporting_for_web.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@ This requires support for `WebAssembly
`SharedArrayBuffer <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer>`_
in the user's browser.

.. attention::

Projects written in C# using Godot 4 currently cannot be exported to the
web. To use C# on web platforms, use Godot 3 instead.

.. important:: Use the browser-integrated developer console, usually opened
with :kbd:`F12`, to view **debug information** like JavaScript,
engine, and WebGL errors.
Expand Down
16 changes: 11 additions & 5 deletions tutorials/scripting/c_sharp/c_sharp_basics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,12 @@ step-by-step tutorial.
C# is a high-level programming language developed by Microsoft. In Godot,
it is implemented with .NET 6.0.

.. attention::

Projects written in C# using Godot 4.x currently cannot be exported to
Android, iOS and web platforms. To use C# on those platforms, use Godot 3
instead.

Comment on lines +30 to +35
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that this was already mentioned in this page in the Current gotchas and known issues section but it's probably too easy to miss.

.. note::

This is **not** a full-scale tutorial on the C# language as a whole.
Expand Down Expand Up @@ -114,16 +120,16 @@ In Visual Studio Code:
If you are using Linux you need to install the `Mono SDK <https://www.mono-project.com/download/stable/#download-lin>`__
for the C# tools plugin to work.

To configure a project for debugging, you need a ``tasks.json`` and ``launch.json`` file in
the ``.vscode`` folder with the necessary configuration. An example configuration can be
found `here <https://github.com/godotengine/godot-csharp-vscode/issues/43#issuecomment-1258321229>`__ .
In the ``tasks.json`` file, make sure the ``program`` parameter points to your Godot executable, either by
To configure a project for debugging, you need a ``tasks.json`` and ``launch.json`` file in
the ``.vscode`` folder with the necessary configuration. An example configuration can be
found `here <https://github.com/godotengine/godot-csharp-vscode/issues/43#issuecomment-1258321229>`__ .
In the ``tasks.json`` file, make sure the ``program`` parameter points to your Godot executable, either by
changing it to the path of the executable or by defining a ``GODOT4`` environment variable that points to the
executable. Now, when you start the debugger in Visual Studio Code, your Godot project will run.

.. note::

There is also a `C# Tools for Godot <https://marketplace.visualstudio.com/items?itemName=neikeq.godot-csharp-vscode>`__
There is also a `C# Tools for Godot <https://marketplace.visualstudio.com/items?itemName=neikeq.godot-csharp-vscode>`__
Visual Studio Code extension, that is meant to make this setup easier and to provide further useful tools.
But it is not yet updated to work with Godot 4.

Expand Down