From 1e411aa12521ab0eb34aa62a32d5eafab4b91849 Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Fri, 23 Jun 2023 23:10:28 +0200 Subject: [PATCH] Document C# currently not being supported on Android, iOS and Web --- about/faq.rst | 14 ++++++++------ about/list_of_features.rst | 3 ++- .../step_by_step/scripting_languages.rst | 8 +++++++- tutorials/export/exporting_for_android.rst | 5 +++++ tutorials/export/exporting_for_ios.rst | 5 +++++ tutorials/export/exporting_for_web.rst | 5 +++++ tutorials/scripting/c_sharp/c_sharp_basics.rst | 16 +++++++++++----- 7 files changed, 43 insertions(+), 13 deletions(-) diff --git a/about/faq.rst b/about/faq.rst index a37fbc91392..a2fb7300a37 100644 --- a/about/faq.rst +++ b/about/faq.rst @@ -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 `_ 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 `__ +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 diff --git a/about/list_of_features.rst b/about/list_of_features.rst index 07dd54b332f..653b3e0997a 100644 --- a/about/list_of_features.rst +++ b/about/list_of_features.rst @@ -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, ...):** diff --git a/getting_started/step_by_step/scripting_languages.rst b/getting_started/step_by_step/scripting_languages.rst index b3f78359abb..4dad51f8219 100644 --- a/getting_started/step_by_step/scripting_languages.rst +++ b/getting_started/step_by_step/scripting_languages.rst @@ -103,7 +103,7 @@ languages, including Squirrel, Lua, and Python. As Microsoft's `C# `_ 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 @@ -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 ~~~~~~~~~~~~~~~~~~~ diff --git a/tutorials/export/exporting_for_android.rst b/tutorials/export/exporting_for_android.rst index 75799fe4823..82dfe234245 100644 --- a/tutorials/export/exporting_for_android.rst +++ b/tutorials/export/exporting_for_android.rst @@ -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 ------------------ diff --git a/tutorials/export/exporting_for_ios.rst b/tutorials/export/exporting_for_ios.rst index e6c9b0dc077..e2c7f2fb08e 100644 --- a/tutorials/export/exporting_for_ios.rst +++ b/tutorials/export/exporting_for_ios.rst @@ -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 ------------ diff --git a/tutorials/export/exporting_for_web.rst b/tutorials/export/exporting_for_web.rst index 4653fa4bd29..84cb8406b06 100644 --- a/tutorials/export/exporting_for_web.rst +++ b/tutorials/export/exporting_for_web.rst @@ -15,6 +15,11 @@ This requires support for `WebAssembly `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. diff --git a/tutorials/scripting/c_sharp/c_sharp_basics.rst b/tutorials/scripting/c_sharp/c_sharp_basics.rst index aa897b3db0c..779c49a70a3 100644 --- a/tutorials/scripting/c_sharp/c_sharp_basics.rst +++ b/tutorials/scripting/c_sharp/c_sharp_basics.rst @@ -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. + .. note:: This is **not** a full-scale tutorial on the C# language as a whole. @@ -114,16 +120,16 @@ In Visual Studio Code: If you are using Linux you need to install the `Mono SDK `__ 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 `__ . -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 `__ . +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 `__ + There is also a `C# Tools for Godot `__ 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.