From 5c6d8853db6723bc9f61096846e50dba18c8d1bb Mon Sep 17 00:00:00 2001 From: Ferafiks Date: Sat, 18 Apr 2026 17:02:34 +0200 Subject: [PATCH 01/15] Start of rewriting platforms section --- en/manual/platforms/android/index.md | 3 + en/manual/platforms/index.md | 59 ++++++++++--------- en/manual/platforms/ios/index.md | 11 ++++ en/manual/platforms/linux/index.md | 22 ++++++- .../platforms/linux/setup-and-requirements.md | 43 +++++++++----- en/manual/platforms/macos/index.md | 8 +++ en/manual/platforms/uwp/index.md | 7 ++- en/manual/platforms/windows/index.md | 11 ++++ en/manual/toc.yml | 18 ++++-- 9 files changed, 129 insertions(+), 53 deletions(-) create mode 100644 en/manual/platforms/android/index.md create mode 100644 en/manual/platforms/ios/index.md create mode 100644 en/manual/platforms/macos/index.md create mode 100644 en/manual/platforms/windows/index.md diff --git a/en/manual/platforms/android/index.md b/en/manual/platforms/android/index.md new file mode 100644 index 000000000..326e1f1fb --- /dev/null +++ b/en/manual/platforms/android/index.md @@ -0,0 +1,3 @@ +# Android + +:P diff --git a/en/manual/platforms/index.md b/en/manual/platforms/index.md index b950dbf5a..a7652af77 100644 --- a/en/manual/platforms/index.md +++ b/en/manual/platforms/index.md @@ -2,51 +2,52 @@ ![Platforms](media/game-engine-system-requirements-intro-pic.png) -Stride is cross-platform game engine. This means you can create your game once, then compile and deploy it on all the platforms Stride supports. The engine converts C# and shaders to the different native languages, and abstracts the concepts that differ between platforms, so you don't have to adapt your code for each platform. +Stride is a cross-platform engine, which means that you can create a single game and publish it on multiple platforms. -## Supported platforms +## Supported development platforms -* Windows 7, 8, 10 -* Windows Universal Platform (UWP) -* [Linux](linux/index.md) -* Android 2.3 and later -* [iOS 8.0 and later](ios.md) - -> [!TIP] -> To check which platform your project uses, add a break point to your code (eg in a script), run the project, and check the [Platform.Type](xref:Stride.Core.Platform.Type) variable. +This is a list of all platforms that Stride supports for developing games. -## Supported graphics platforms +* Windows 10, 11 +* Linux (code-only) -* Direct3D 9 (limited support), 10, 11, 12 -* OpenGL 3, 4 -* OpenGL ES 2 (limited support), 3 -* Vulkan +> [!NOTE] +> **Game Studio** is being rewritten to be cross-platform. Currently however, it's not possible to use it outside of **Windows**. ->[!Note] ->Stride only supports MSAA (multisample anti-aliasing) for Direct3D 11 and later. ->Depending on your device's OpenGL shader compiler, Stride might not run with OpenGL ES2. +## Supported target platforms ->[!Warning] ->Direct3D 9 doesn't support HDR textures. Using HDR textures with DirextX 9 will crash your game. +* Windows 10, 11 +* Linux +* Android +* MacOS (currently broken) +* iOS (untested) -## Set the graphics platform +## Platform specific code -You set the graphics platform in the **Game settings** asset under **Rendering settings > Target graphics platform**. +Each platform has it's own [project package](#) that contains the [entry point](#) and other exclusive code for that platform. -![Select graphics platform](media/change-graphics-platform.png) +Alternatively, you can also check the current platform using [Platform.Type](xref:Stride.Core.Platform.Type). -For more information, see [Set the graphics platform](set-the-graphics-platform.md). +```csharp +if (Platform.Type == PlatformType.Android) +{ + // This code will only be executed on Android +} +``` -## Preprocessor variables +TODO: add links -Stride defines preprocessor variables if you want to write code that compiles only under a specific platform. For more information, see [Preprocessor variables](../scripts/preprocessor-variables.md). +> [!WARNING] +> Stride also provides [preprocessor variables](../scripts/preprocessor-variables.md) for doing this, however, it's generally advised to avoid using them. ## In this section -* [Linux](linux/index.md) +* [Windows](windows/index.md) * [UWP](uwp/index.md) * [Xbox Live](uwp/xbox-live.md) -* [iOS](ios.md) +* [Linux](linux/index.md) +* [MacOS](macos/index.md) +* [Android](android/index.md) +* [iOS](ios/index.md) * [Add or remove a platform](add-or-remove-a-platform.md) * [Set the graphics platform](set-the-graphics-platform.md) -* [Game settings](../game-studio/game-settings.md) \ No newline at end of file diff --git a/en/manual/platforms/ios/index.md b/en/manual/platforms/ios/index.md new file mode 100644 index 000000000..fda7037b1 --- /dev/null +++ b/en/manual/platforms/ios/index.md @@ -0,0 +1,11 @@ +# iOS + +iOS is an operating system used on mobile devices made by Apple. + +## General support + +Building games for iOS is currently untested. + +## Building + +iOS applications, which includes games made with Stride, can only be built on devices using MacOS. diff --git a/en/manual/platforms/linux/index.md b/en/manual/platforms/linux/index.md index 7194b2f65..08f05e761 100644 --- a/en/manual/platforms/linux/index.md +++ b/en/manual/platforms/linux/index.md @@ -1,4 +1,22 @@ # Linux -* [Setup and requirements](setup-and-requirements.md) -* [Create a Linux game](create-a-linux-game.md) \ No newline at end of file +Linux is a suite of open source operating systems. It isn't a single product, but instead a base for creating custom operating systems, called distributions. + +## Development support + +Currently, Linux only has **partial support**. It's not possible to run **Game Studio**, even when using a compatibility layer, such as wine. + +However, it is still possible to code and build games natively, meaning that when working in a team, some programmers could work on a project using Linux for tasks that don't require **Game Studio**. + +> [!NOTE] +> **Game Studio** is being rewritten to be cross-platform. + +Alternatively, it is possible to create games in Stride on Linux using a **code-only** approach, removing the need for an editor. + +## General support + +Most of Stride's features fully work on Linux. The main limitation comes from DirectX being unavailable, as it is a Windows-exclusive graphics API. + +## Wayland support + +Currently, games made with Stride run using the X11 windowing system. diff --git a/en/manual/platforms/linux/setup-and-requirements.md b/en/manual/platforms/linux/setup-and-requirements.md index d9fdcee96..8a631d07b 100644 --- a/en/manual/platforms/linux/setup-and-requirements.md +++ b/en/manual/platforms/linux/setup-and-requirements.md @@ -1,6 +1,6 @@ # Setup and requirements -To develop for Linux using Stride, you need a Linux PC with a graphics card that supports at least OpenGL 4.2 or Vulkan 1.0. The preferred Linux distribution for Stride is Debian 12 or later, as this was the setup we used to develop the Linux version of Stride. +To develop for Linux using Stride, you need a Linux PC with a graphics card that supports Vulkan. The instructions below assume you have Debian 12 installed. @@ -19,19 +19,19 @@ You need the following packages: To render fonts, we use the [FreeType](https://www.freetype.org/) library. The minimum required version is 2.6 and can be installed via: -### [Debian / Ubuntu](#tab/freetype-ubuntu) +### [Debian / Ubuntu](#tab/ubuntu) ```bash sudo apt install libfreetype6-dev ``` -### [Fedora](#tab/freetype-fedora) +### [Fedora](#tab/fedora) ```bash sudo dnf install freetype-devel ``` -### [Arch](#tab/freetype-arch) +### [Arch](#tab/arch) ```bash sudo pacman -S freetype2 @@ -43,19 +43,19 @@ sudo pacman -S freetype2 To play sounds and music, we use the [OpenAL](https://www.openal.org/) library. It can be installed via: -### [Debian / Ubuntu](#tab/openal-ubuntu) +### [Debian / Ubuntu](#tab/ubuntu) ```bash sudo apt install libopenal-dev ``` -### [Fedora](#tab/openal-fedora) +### [Fedora](#tab/fedora) ```bash sudo dnf install openal-soft-devel ``` -### [Arch](#tab/openal-arch) +### [Arch](#tab/arch) ```bash sudo pacman -S openal @@ -67,19 +67,19 @@ sudo pacman -S openal To run games on Linux, we use the [SDL2](https://www.libsdl.org/) library which provides the ability to create windows, handle mouse, keyboard and joystick events. The minimum required version is 2.0.4 and can be installed via: -### [Debian / Ubuntu](#tab/sdl2-ubuntu) +### [Debian / Ubuntu](#tab/ubuntu) ```bash sudo apt install libsdl2-dev ``` -### [Fedora](#tab/sdl2-fedora) +### [Fedora](#tab/fedora) ```bash sudo dnf install SDL2-devel ``` -### [Arch](#tab/sdl2-arch) +### [Arch](#tab/arch) ```bash sudo pacman -S sdl2 @@ -92,22 +92,37 @@ sudo pacman -S sdl2 [FreeImage](https://freeimage.sourceforge.io/) is battle-tested library for loading and saving popular image file formats like BMP, PNG, JPEG etc. The minimum required version is 3.18 and can be installed via: -### [Debian / Ubuntu](#tab/freeimage-ubuntu) +### [Debian / Ubuntu](#tab/ubuntu) ```bash sudo apt install libfreeimage-dev ``` -### [Fedora](#tab/freeimage-fedora) +### [Fedora](#tab/fedora) ```bash sudo dnf install freeimage-devel ``` -### [Arch](#tab/freeimage-arch) +### [Arch](#tab/arch) + +Freeimage isn't available in Arch's package manager, but it can be installed by manually compiling the source code. + +You can get the source code from [the freeimage website](https://freeimage.sourceforge.io/download.html) (download the source distribution). + +After extracting, compile and install the package using `makepkg`. + +```bash +makepkg -i +``` + +Alternatively, you can use a tool, such as `yay` to obtain the package from the AUR. + +> [!WARNING] +> Packages listed on the AUR **are maintained by other users**, meaning that it's **possible for them to contain malicious code**. Proceed at your own risk. ```bash -sudo pacman -S freeimage +yay -S freeimage ``` --- diff --git a/en/manual/platforms/macos/index.md b/en/manual/platforms/macos/index.md new file mode 100644 index 000000000..e02edd1a7 --- /dev/null +++ b/en/manual/platforms/macos/index.md @@ -0,0 +1,8 @@ +# MacOS + +MacOS is a desktop operating system used on Apple devices. + +> [!CAUTION] +> Currently, building for MacOS is broken. + +## Development support diff --git a/en/manual/platforms/uwp/index.md b/en/manual/platforms/uwp/index.md index b0f8e39d1..e4857d19d 100644 --- a/en/manual/platforms/uwp/index.md +++ b/en/manual/platforms/uwp/index.md @@ -1,7 +1,10 @@ # UWP -Windows 10 introduces the Universal Windows Platform (UWP), which provides a common app platform available on every device that runs Windows 10. For more information about UWP, see [Intro to the Universal Windows Platform](https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide) on the MSDN documentation. +Universal Windows Platform (UWP) provides a common app platform available on every device that runs Windows. For more information about UWP, see [Intro to the Universal Windows Platform](https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide) on the MSDN documentation. + +> [!WARNING] +> **UWP is no longer developed**. We recommend building the game for [Windows](../windows/index.md) instead. ## In this section -* [Xbox Live](xbox-live.md) \ No newline at end of file +* [Xbox Live](xbox-live.md) diff --git a/en/manual/platforms/windows/index.md b/en/manual/platforms/windows/index.md new file mode 100644 index 000000000..2ac4fbeb9 --- /dev/null +++ b/en/manual/platforms/windows/index.md @@ -0,0 +1,11 @@ +# Windows + +Windows is the most popular computer operating system for playing video games in the world. + +## Development support + +Windows is the most supported platform by Stride. You have access to the full suite of tools, including **Game Studio**, which allows you to develop your games using an editor. + +## General support + +All of Stride's features fully work on Windows. diff --git a/en/manual/toc.yml b/en/manual/toc.yml index 15a981155..f4d116017 100644 --- a/en/manual/toc.yml +++ b/en/manual/toc.yml @@ -481,6 +481,13 @@ items: - name: Platforms href: platforms/index.md items: + - name: Windows + href: platforms/windows/index.md + - name: UWP + href: platforms/uwp/index.md + items: + - name: Xbox Live + href: platforms/uwp/xbox-live.md - name: Linux href: platforms/linux/index.md items: @@ -488,13 +495,12 @@ items: href: platforms/linux/setup-and-requirements.md - name: Create a Linux game href: platforms/linux/create-a-linux-game.md - - name: UWP - href: platforms/uwp/index.md - items: - - name: Xbox Live - href: platforms/uwp/xbox-live.md + - name: MacOS + href: platforms/macos/index.md + - name: Android + href: platforms/android/index.md - name: iOS - href: platforms/ios.md + href: platforms/ios/index.md - name: Add or remove a platform href: platforms/add-or-remove-a-platform.md - name: Set the graphics platform From d4bffaff431de16086a7b24b9368c9d026dd492e Mon Sep 17 00:00:00 2001 From: Ferafiks Date: Fri, 22 May 2026 07:37:35 +0200 Subject: [PATCH 02/15] Finished most pages --- en/includes/out-of-date-page.md | 2 + en/includes/xplat-editor-notice.md | 2 + en/manual/platforms/index.md | 8 +- en/manual/platforms/ios.md | 112 +----------------- en/manual/platforms/ios/build-guide.md | 111 +++++++++++++++++ en/manual/platforms/ios/index.md | 7 +- .../{ => ios}/media/add-device-icon.png | 0 .../{ => ios}/media/add-ios-platform.png | 0 .../{ => ios}/media/bundle-identifier.png | 0 .../platforms/{ => ios}/media/info-plist.png | 0 .../media/ios-project-properties.png | 0 .../{ => ios}/media/ipad-device-added.png | 0 .../media/select-ios-device-dropdown.png | 0 .../{ => ios}/media/select-ios-device.png | 0 .../media/set-ios-as-startup-project.png | 0 .../{ => ios}/media/solution-platform.png | 0 .../{ => ios}/media/xamarin-agent.png | 0 .../media/xamarin-button-in-toolbar.png | 0 .../{ => ios}/media/xamarin-button.png | 0 .../platforms/linux/create-a-linux-game.md | 96 +-------------- en/manual/platforms/linux/index.md | 15 ++- .../platforms/linux/setup-and-requirements.md | 8 +- en/manual/platforms/macos/index.md | 17 ++- en/manual/platforms/media/set-ipad-device.png | 3 - .../platforms/set-the-graphics-platform.md | 73 +----------- en/manual/platforms/uwp/index.md | 8 +- en/manual/platforms/uwp/xbox-live.md | 4 +- en/manual/platforms/windows/index.md | 4 +- en/manual/toc.yml | 7 +- 29 files changed, 168 insertions(+), 309 deletions(-) create mode 100644 en/includes/out-of-date-page.md create mode 100644 en/includes/xplat-editor-notice.md create mode 100644 en/manual/platforms/ios/build-guide.md rename en/manual/platforms/{ => ios}/media/add-device-icon.png (100%) rename en/manual/platforms/{ => ios}/media/add-ios-platform.png (100%) rename en/manual/platforms/{ => ios}/media/bundle-identifier.png (100%) rename en/manual/platforms/{ => ios}/media/info-plist.png (100%) rename en/manual/platforms/{ => ios}/media/ios-project-properties.png (100%) rename en/manual/platforms/{ => ios}/media/ipad-device-added.png (100%) rename en/manual/platforms/{ => ios}/media/select-ios-device-dropdown.png (100%) rename en/manual/platforms/{ => ios}/media/select-ios-device.png (100%) rename en/manual/platforms/{ => ios}/media/set-ios-as-startup-project.png (100%) rename en/manual/platforms/{ => ios}/media/solution-platform.png (100%) rename en/manual/platforms/{ => ios}/media/xamarin-agent.png (100%) rename en/manual/platforms/{ => ios}/media/xamarin-button-in-toolbar.png (100%) rename en/manual/platforms/{ => ios}/media/xamarin-button.png (100%) delete mode 100644 en/manual/platforms/media/set-ipad-device.png diff --git a/en/includes/out-of-date-page.md b/en/includes/out-of-date-page.md new file mode 100644 index 000000000..b575746d7 --- /dev/null +++ b/en/includes/out-of-date-page.md @@ -0,0 +1,2 @@ +> [!WARNING] +> This page may be out of date and should only be used as a reference. diff --git a/en/includes/xplat-editor-notice.md b/en/includes/xplat-editor-notice.md new file mode 100644 index 000000000..6f46aefdb --- /dev/null +++ b/en/includes/xplat-editor-notice.md @@ -0,0 +1,2 @@ +> [!NOTE] +> **Game Studio** is being rewritten to be cross-platform. diff --git a/en/manual/platforms/index.md b/en/manual/platforms/index.md index a7652af77..f5a55d33c 100644 --- a/en/manual/platforms/index.md +++ b/en/manual/platforms/index.md @@ -18,13 +18,13 @@ This is a list of all platforms that Stride supports for developing games. * Windows 10, 11 * Linux +* MacOS (untested) * Android -* MacOS (currently broken) * iOS (untested) ## Platform specific code -Each platform has it's own [project package](#) that contains the [entry point](#) and other exclusive code for that platform. +Each platform has it's own [project package](../files-and-folders/project-packages/index.md) that contains the [entry point](../files-and-folders/project-packages/index.md#entry-point) and other exclusive code for that platform. Alternatively, you can also check the current platform using [Platform.Type](xref:Stride.Core.Platform.Type). @@ -35,10 +35,8 @@ if (Platform.Type == PlatformType.Android) } ``` -TODO: add links - > [!WARNING] -> Stride also provides [preprocessor variables](../scripts/preprocessor-variables.md) for doing this, however, it's generally advised to avoid using them. +> Stride also sets [preprocessor variables](../scripts/preprocessor-variables.md) depending on the current platform, however, it's generally advised to avoid using them. For more information read [Best practices](../scripts/best-practice.md). ## In this section diff --git a/en/manual/platforms/ios.md b/en/manual/platforms/ios.md index ad0009100..ede02e30a 100644 --- a/en/manual/platforms/ios.md +++ b/en/manual/platforms/ios.md @@ -1,109 +1,3 @@ -# iOS - -To deploy your game on iOS devices, you need to connect the device to a Mac with Xamarin. - -1. Make sure Xamarin is installed on the PC and the Mac. For instructions about how to install and set up Xamarin, see the Xamarin documentation: - - * [Installing Xamarin in Visual Studio on Windows](https://developer.xamarin.com/guides/cross-platform/getting_started/installation/windows/) - - * [Connecting to Mac](https://developer.xamarin.com/guides/ios/getting_started/installation/windows/connecting-to-mac/) - -2. Make sure your iOS device is provisioned. For instructions, see [Device provisioning](https://developer.xamarin.com/guides/ios/getting_started/installation/device_provisioning/) in the Xamarin documentation. - -3. Make sure the iOS platform is added to your Stride project. To do this, in Game Studio, right-click the solution, select **Update package > Update Platforms**, and make sure **iOS** is selected. - - ![Add iOS](media/add-ios-platform.png) - - For more information about adding platforms in Game Studio, see [Add or remove a platform](add-or-remove-a-platform.md). - -4. Open your solution in Visual Studio. - - >[!Tip] - >To open your project in Visual Studio from Game Studio, in the Game Studio toolbar, click ![Open in IDE](../scripts/media/launch-your-game-IDE-icon.png) (**Open in IDE**). - -5. In the Visual Studio toolbar, click ![Xamarin button](media/xamarin-button.png). - - ![Connect to Xamarin](media/xamarin-button-in-toolbar.png) - - **Xamarin Agent** opens. - - ![Xamarin agent](media/xamarin-agent.png) - -6. Connect to the Mac via Xamarin. For instructions, see [Introduction to Xamarin iOS for Visual Studio](https://developer.xamarin.com/guides/ios/getting_started/installation/windows/introduction_to_xamarin_ios_for_visual_studio/) in the Xamarin documentation. - -7. In the **Solution Explorer**, right-click the project and select **Set as StartUp Project**. - - ![Set as startup](media/set-ios-as-startup-project.png) - -8. In the **Solution Platforms** menu, select **iPhone** to build on physical iOS devices (including iPad), or **iPhoneSimulator** to build for the simulator. The simulator emulates iOS devices on your machine, but has some drawbacks (see below). - - ![Solution platform](media/solution-platform.png) - -9. In the Visual Studio toolbar, select the iOs device you want to build for. - - ![Select device](media/select-ios-device-dropdown.png) - -10. From the **Solution Explorer**, open `info.plist`. - - ![Select info file](media/info-plist.png) - -11. If you want to create a release build, set the **bundle identifier**. This is a unique ID for your application. - - ![Select bundle ID](media/bundle-identifier.png) - -12. If you want to deploy on iPad, under **Targeted device family**, click ![Add device icon](media/add-device-icon.png). - - ![Added iPad](media/ipad-device-added.png) - -## Speed up builds on iOS devices - -It takes a long time to build on iOS devices. This is because: - -* the Mac needs to build code ahead of time (AOT) for the different devices - -* the Apple sandbox system doesn't let you update packages incrementally, so the Mac needs to completely redeploy the application on the device for every change - -To compile code more quickly, in the Solution Explorer, right-click the iOS project and select **Properties**. - -![Project properties](media/ios-project-properties.png) - -* Under **Linker Behavior**, select **Don't link**. -* Under **Supported Architectures**, select only the architecture of the debug device. -* Disable **Strip native debugging symbols**. -* Enable **incremental builds** (only code that changes from one execution to another is AOT) - -For more information, see [iOS Build Mechanics](https://developer.xamarin.com/guides/ios/advanced_topics/ios-build-mechanics/) in the Xamarin documentation. For information about profiling, see [Using instruments to detect native leaks using markheap]( -https://developer.xamarin.com/guides/ios/deployment,_testing,_and_metrics/using_instruments_to_detect_native_leaks_using_markheap). - -To make redeploying each time faster, make your debug packages as small as possible. - -* In Game Studio, reduce the **Size** of the [textures](../graphics/textures/index.md) in your project. - -* Remove unused assets. - -* Test your scenes one by one rather than loading them simultaneously. - -* Debug your application on the **iPhone simulator** instead of a real device. However, execution is slow on the simulator and it produces some rendering artifacts, so we don't recommend using it to debug real-time graphics. - -## Compile shaders on iOS - -As converting Stride shaders to OpenGL shaders on iPhone devices is slow, we recommend you convert them remotely (ie in Game Studio). - -Our recommended workflow is: - -1. Execute the app on Windows. This creates the shader permutations. - - ![New effects](../graphics/effects-and-shaders/media/new-effects-to-import.png) - -2. Import the new shaders in Game Studio. This generates an effect log. - - ![Effect log](../graphics/effects-and-shaders/media/effect-log.png) - -3. Save and run the game on iOS. - -Ideally, this creates all the shader permutations remotely, so you don't need to convert them on the device. However, new permutations might still occur due to differences such as supported screen resolutions. For more information, including information about how to compile shaders remotely on iOS, see [Compile shaders](../graphics/effects-and-shaders/compile-shaders.md). - -## See also - -* [iOs in the Xamarin documentation](https://developer.xamarin.com/guides/ios/) -* [Compile shaders](../graphics/effects-and-shaders/compile-shaders.md) +--- +redirect_url: ios/index.html +--- diff --git a/en/manual/platforms/ios/build-guide.md b/en/manual/platforms/ios/build-guide.md new file mode 100644 index 000000000..3d03d5c39 --- /dev/null +++ b/en/manual/platforms/ios/build-guide.md @@ -0,0 +1,111 @@ +# iOS + +[!INCLUDE [out-of-date-page](../../../includes/out-of-date-page.md)] + +To deploy your game on iOS devices, you need to connect the device to a Mac with Xamarin. + +1. Make sure Xamarin is installed on the PC and the Mac. For instructions about how to install and set up Xamarin, see the Xamarin documentation: + + * [Installing Xamarin in Visual Studio on Windows](https://developer.xamarin.com/guides/cross-platform/getting_started/installation/windows/) + + * [Connecting to Mac](https://developer.xamarin.com/guides/ios/getting_started/installation/windows/connecting-to-mac/) + +2. Make sure your iOS device is provisioned. For instructions, see [Device provisioning](https://developer.xamarin.com/guides/ios/getting_started/installation/device_provisioning/) in the Xamarin documentation. + +3. Make sure the iOS platform is added to your Stride project. To do this, in Game Studio, right-click the solution, select **Update package > Update Platforms**, and make sure **iOS** is selected. + + ![Add iOS](media/add-ios-platform.png) + + For more information about adding platforms in Game Studio, see [Add or remove a platform](../add-or-remove-a-platform.md). + +4. Open your solution in Visual Studio. + + >[!Tip] + >To open your project in Visual Studio from Game Studio, in the Game Studio toolbar, click ![Open in IDE](../../scripts/media/launch-your-game-IDE-icon.png) (**Open in IDE**). + +5. In the Visual Studio toolbar, click ![Xamarin button](media/xamarin-button.png). + + ![Connect to Xamarin](media/xamarin-button-in-toolbar.png) + + **Xamarin Agent** opens. + + ![Xamarin agent](media/xamarin-agent.png) + +6. Connect to the Mac via Xamarin. For instructions, see [Introduction to Xamarin iOS for Visual Studio](https://developer.xamarin.com/guides/ios/getting_started/installation/windows/introduction_to_xamarin_ios_for_visual_studio/) in the Xamarin documentation. + +7. In the **Solution Explorer**, right-click the project and select **Set as StartUp Project**. + + ![Set as startup](media/set-ios-as-startup-project.png) + +8. In the **Solution Platforms** menu, select **iPhone** to build on physical iOS devices (including iPad), or **iPhoneSimulator** to build for the simulator. The simulator emulates iOS devices on your machine, but has some drawbacks (see below). + + ![Solution platform](media/solution-platform.png) + +9. In the Visual Studio toolbar, select the iOs device you want to build for. + + ![Select device](media/select-ios-device-dropdown.png) + +10. From the **Solution Explorer**, open `info.plist`. + + ![Select info file](media/info-plist.png) + +11. If you want to create a release build, set the **bundle identifier**. This is a unique ID for your application. + + ![Select bundle ID](media/bundle-identifier.png) + +12. If you want to deploy on iPad, under **Targeted device family**, click ![Add device icon](media/add-device-icon.png). + + ![Added iPad](media/ipad-device-added.png) + +## Speed up builds on iOS devices + +It takes a long time to build on iOS devices. This is because: + +* the Mac needs to build code ahead of time (AOT) for the different devices + +* the Apple sandbox system doesn't let you update packages incrementally, so the Mac needs to completely redeploy the application on the device for every change + +To compile code more quickly, in the Solution Explorer, right-click the iOS project and select **Properties**. + +![Project properties](media/ios-project-properties.png) + +* Under **Linker Behavior**, select **Don't link**. +* Under **Supported Architectures**, select only the architecture of the debug device. +* Disable **Strip native debugging symbols**. +* Enable **incremental builds** (only code that changes from one execution to another is AOT) + +For more information, see [iOS Build Mechanics](https://developer.xamarin.com/guides/ios/advanced_topics/ios-build-mechanics/) in the Xamarin documentation. For information about profiling, see [Using instruments to detect native leaks using markheap]( +https://developer.xamarin.com/guides/ios/deployment,_testing,_and_metrics/using_instruments_to_detect_native_leaks_using_markheap). + +To make redeploying each time faster, make your debug packages as small as possible. + +* In Game Studio, reduce the **Size** of the [textures](../../graphics/textures/index.md) in your project. + +* Remove unused assets. + +* Test your scenes one by one rather than loading them simultaneously. + +* Debug your application on the **iPhone simulator** instead of a real device. However, execution is slow on the simulator and it produces some rendering artifacts, so we don't recommend using it to debug real-time graphics. + +## Compile shaders on iOS + +As converting Stride shaders to OpenGL shaders on iPhone devices is slow, we recommend you convert them remotely (ie in Game Studio). + +Our recommended workflow is: + +1. Execute the app on Windows. This creates the shader permutations. + + ![New effects](../../graphics/effects-and-shaders/media/new-effects-to-import.png) + +2. Import the new shaders in Game Studio. This generates an effect log. + + ![Effect log](../../graphics/effects-and-shaders/media/effect-log.png) + +3. Save and run the game on iOS. + +Ideally, this creates all the shader permutations remotely, so you don't need to convert them on the device. However, new permutations might still occur due to differences such as supported screen resolutions. For more information, including information about how to compile shaders remotely on iOS, see [Compile shaders](../../graphics/effects-and-shaders/compile-shaders.md). + +## See also + +* [iOs in the Xamarin documentation](https://developer.xamarin.com/guides/ios/) +* [Compile shaders](../../graphics/effects-and-shaders/compile-shaders.md) diff --git a/en/manual/platforms/ios/index.md b/en/manual/platforms/ios/index.md index fda7037b1..d704b8736 100644 --- a/en/manual/platforms/ios/index.md +++ b/en/manual/platforms/ios/index.md @@ -4,8 +4,9 @@ iOS is an operating system used on mobile devices made by Apple. ## General support -Building games for iOS is currently untested. +All of Stride's core features should work on iOS. You might run into issues when using certain systems (such as video). -## Building +Stride supports building for iOS, but it hasn't been tested in a while. There might be problems that may not be easily solvable without modifications to the engine. -iOS applications, which includes games made with Stride, can only be built on devices using MacOS. +> [!NOTE] +> All iOS applications (including games made with Stride) **can only be built on devices running MacOS**. diff --git a/en/manual/platforms/media/add-device-icon.png b/en/manual/platforms/ios/media/add-device-icon.png similarity index 100% rename from en/manual/platforms/media/add-device-icon.png rename to en/manual/platforms/ios/media/add-device-icon.png diff --git a/en/manual/platforms/media/add-ios-platform.png b/en/manual/platforms/ios/media/add-ios-platform.png similarity index 100% rename from en/manual/platforms/media/add-ios-platform.png rename to en/manual/platforms/ios/media/add-ios-platform.png diff --git a/en/manual/platforms/media/bundle-identifier.png b/en/manual/platforms/ios/media/bundle-identifier.png similarity index 100% rename from en/manual/platforms/media/bundle-identifier.png rename to en/manual/platforms/ios/media/bundle-identifier.png diff --git a/en/manual/platforms/media/info-plist.png b/en/manual/platforms/ios/media/info-plist.png similarity index 100% rename from en/manual/platforms/media/info-plist.png rename to en/manual/platforms/ios/media/info-plist.png diff --git a/en/manual/platforms/media/ios-project-properties.png b/en/manual/platforms/ios/media/ios-project-properties.png similarity index 100% rename from en/manual/platforms/media/ios-project-properties.png rename to en/manual/platforms/ios/media/ios-project-properties.png diff --git a/en/manual/platforms/media/ipad-device-added.png b/en/manual/platforms/ios/media/ipad-device-added.png similarity index 100% rename from en/manual/platforms/media/ipad-device-added.png rename to en/manual/platforms/ios/media/ipad-device-added.png diff --git a/en/manual/platforms/media/select-ios-device-dropdown.png b/en/manual/platforms/ios/media/select-ios-device-dropdown.png similarity index 100% rename from en/manual/platforms/media/select-ios-device-dropdown.png rename to en/manual/platforms/ios/media/select-ios-device-dropdown.png diff --git a/en/manual/platforms/media/select-ios-device.png b/en/manual/platforms/ios/media/select-ios-device.png similarity index 100% rename from en/manual/platforms/media/select-ios-device.png rename to en/manual/platforms/ios/media/select-ios-device.png diff --git a/en/manual/platforms/media/set-ios-as-startup-project.png b/en/manual/platforms/ios/media/set-ios-as-startup-project.png similarity index 100% rename from en/manual/platforms/media/set-ios-as-startup-project.png rename to en/manual/platforms/ios/media/set-ios-as-startup-project.png diff --git a/en/manual/platforms/media/solution-platform.png b/en/manual/platforms/ios/media/solution-platform.png similarity index 100% rename from en/manual/platforms/media/solution-platform.png rename to en/manual/platforms/ios/media/solution-platform.png diff --git a/en/manual/platforms/media/xamarin-agent.png b/en/manual/platforms/ios/media/xamarin-agent.png similarity index 100% rename from en/manual/platforms/media/xamarin-agent.png rename to en/manual/platforms/ios/media/xamarin-agent.png diff --git a/en/manual/platforms/media/xamarin-button-in-toolbar.png b/en/manual/platforms/ios/media/xamarin-button-in-toolbar.png similarity index 100% rename from en/manual/platforms/media/xamarin-button-in-toolbar.png rename to en/manual/platforms/ios/media/xamarin-button-in-toolbar.png diff --git a/en/manual/platforms/media/xamarin-button.png b/en/manual/platforms/ios/media/xamarin-button.png similarity index 100% rename from en/manual/platforms/media/xamarin-button.png rename to en/manual/platforms/ios/media/xamarin-button.png diff --git a/en/manual/platforms/linux/create-a-linux-game.md b/en/manual/platforms/linux/create-a-linux-game.md index 025feb1f7..b09e389c9 100644 --- a/en/manual/platforms/linux/create-a-linux-game.md +++ b/en/manual/platforms/linux/create-a-linux-game.md @@ -1,93 +1,3 @@ -# Create a Linux game - ->[!Note] ->Before following these instructions, make sure you've followed the instructions in [Linux - Setup and requirements](setup-and-requirements.md). - -1. In the Stride launcher, create a new game and select Linux as a target platform. - - ![New Game](media/platform_choice.png) - -2. In Game Studio, in the platforms menu, select **Linux**. - - ![Platform Selector](media/platform_selector.png) - -3. Press **F5** to build and run the project. - -4. The first time you run the project, enter information about your Linux host: - - ![Credential Dialog](media/default_credential_dialog.png) - - Enter your information as below: - - ![Filled Credential Dialog](media/filled_credential_dialog.png) - -5. Click **Test settings** to test the credentials. - - If you made an error, Game Studio displays: - - ![Invalid Settings](media/unreachable_host.png) - - If the credentials are correct, Game Studio displays: - - ![Success](media/successful_login.png) - - Click the **OK** button to continue. - - Game Studio copies the files over your Linux host in a subdirectory of the location you have provided. The name of the subdirectory is the name of your game. - - If something goes wrong, check the **Output** pane for details. - -## Settings - -Your credentials are saved in the **Settings** dialog: - -![Settings Dialog](media/remote_settings.png) - -The password is encrypted using the Micrsoft *System.Security.Cryptograph.ProtectedData.Protect* method for the current user, and saved in Base64, displayed in the Settings. You can't change the password from the Settings dialog. - -There are two additional settings that control the execution of a game: - -* Use CoreCLR: forces execution using .NET Core - -* X Display: forces execution on a specific X display of your Linux host - -## Compile outside Game Studio - -Like any Stride project, you can also compile the project directly from Visual Studio or from the command line. In both cases, you need to select a valid configuration: - -* Debug -* Release -* CoreCLR_Debug -* CoreCLR_Release - -Debug and Release target Mono. The others target .NET Core. - -### Visual Studio - -Once your project is loaded in Visual Studio, select the Linux project. In the **Solution Configurations** drop-down menu, you select a valid Linux configuration: - -![Configuration selection](media/vs_configuration_selection.png) - -### MSBuild - -To compile for Linux, from a command line, use: - -``` -msbuild /p:Platform=Linux /p:Configuration=CONFIG YourGame.sln -``` - -Where **CONFIG** is a valid Linux configuration. - -## Limitations - -* No debugging facility yet - -* Switching the rendering graphics platform might cause the game to hang on startup. As a workaround, on the Linux host, in the directory where the game is deployed, delete the following directories: - - * `cache` - * `local` - * `roaming` - -## See also - -* [Linux — Setup and requirements](setup-and-requirements.md) \ No newline at end of file +--- +redirect_url: index.html +--- diff --git a/en/manual/platforms/linux/index.md b/en/manual/platforms/linux/index.md index 08f05e761..0e35a36ed 100644 --- a/en/manual/platforms/linux/index.md +++ b/en/manual/platforms/linux/index.md @@ -4,19 +4,22 @@ Linux is a suite of open source operating systems. It isn't a single product, bu ## Development support -Currently, Linux only has **partial support**. It's not possible to run **Game Studio**, even when using a compatibility layer, such as wine. +Currently, Linux only has **partial support**. It's not possible to run **Game Studio** on it, even when using a compatibility layer, such as wine. However, it is still possible to code and build games natively, meaning that when working in a team, some programmers could work on a project using Linux for tasks that don't require **Game Studio**. -> [!NOTE] -> **Game Studio** is being rewritten to be cross-platform. +[!INCLUDE [xplat-editor-notice](../../../includes/xplat-editor-notice.md)] -Alternatively, it is possible to create games in Stride on Linux using a **code-only** approach, removing the need for an editor. +Alternatively, it is possible to create games in Stride on Linux using a **code-only** approach, removing the need for an editor all together. ## General support -Most of Stride's features fully work on Linux. The main limitation comes from DirectX being unavailable, as it is a Windows-exclusive graphics API. +All of Stride's core features work on Linux. You might run into issues when using certain systems (such as video). ## Wayland support -Currently, games made with Stride run using the X11 windowing system. +Currently, games made with Stride can only run using Xorg. + +## In this section + +* [Setup and requirements](setup-and-requirements.md) diff --git a/en/manual/platforms/linux/setup-and-requirements.md b/en/manual/platforms/linux/setup-and-requirements.md index 8a631d07b..ae83de917 100644 --- a/en/manual/platforms/linux/setup-and-requirements.md +++ b/en/manual/platforms/linux/setup-and-requirements.md @@ -106,16 +106,10 @@ sudo dnf install freeimage-devel ### [Arch](#tab/arch) -Freeimage isn't available in Arch's package manager, but it can be installed by manually compiling the source code. +Freeimage isn't available in Arch's package manager, but it can be manually compiled source code. You can get the source code from [the freeimage website](https://freeimage.sourceforge.io/download.html) (download the source distribution). -After extracting, compile and install the package using `makepkg`. - -```bash -makepkg -i -``` - Alternatively, you can use a tool, such as `yay` to obtain the package from the AUR. > [!WARNING] diff --git a/en/manual/platforms/macos/index.md b/en/manual/platforms/macos/index.md index e02edd1a7..635c106e5 100644 --- a/en/manual/platforms/macos/index.md +++ b/en/manual/platforms/macos/index.md @@ -2,7 +2,18 @@ MacOS is a desktop operating system used on Apple devices. -> [!CAUTION] -> Currently, building for MacOS is broken. - ## Development support + +Currently, MacOS only has **partial support**. It's not possible to run **Game Studio** on it. + +However, it is possible to code and build games natively, meaning that when working in a team, some programmers could work on a project using MacOS for tasks that don't require **Game Studio**. + +[!INCLUDE [xplat-editor-notice](../../../includes/xplat-editor-notice.md)] + +Alternatively, it is possible to create games in Stride on MacOS using a **code-only** approach, removing the need for an editor all together. + +## General support + +All of Stride's core features should work on MacOS. You might run into issues when using certain systems (such as video). + +Stride supports building for MacOS, but it hasn't been tested in a while. There might be problems that may not be easily solvable without modifications to the engine. diff --git a/en/manual/platforms/media/set-ipad-device.png b/en/manual/platforms/media/set-ipad-device.png deleted file mode 100644 index df7891df9..000000000 --- a/en/manual/platforms/media/set-ipad-device.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:24ee84b31971f828457497fba178c0c21ce4eca03477d6216d2a253e3913cbc4 -size 78633 diff --git a/en/manual/platforms/set-the-graphics-platform.md b/en/manual/platforms/set-the-graphics-platform.md index 784c7c8a9..b8eb87726 100644 --- a/en/manual/platforms/set-the-graphics-platform.md +++ b/en/manual/platforms/set-the-graphics-platform.md @@ -1,70 +1,3 @@ -# Set the graphics platform - -Beginner - -The **graphics platform** controls the graphics hardware in the device you run your project on. Different devices support different graphics platforms; for example, iOS supports the OpenGL ES graphics platform. You can select which graphics platform your game uses, and add overrides for different platforms (eg Windows, Android, etc). - ->[!Warning] ->Moving from Direct3D to an earlier Direct3D version can create problems. For example, if your game contains HDR textures, it will crash, as Direct3D 9 doesn't support them. - -You set the graphics platform in the [game settings](../game-studio/game-settings.md) asset. - -> [!Note] -> Make sure you have the latest drivers for the graphics platforms you want to use. - -1. In the **Asset View**, select the **Game Settings** asset. - - ![Game settings asset](media/games-settings-asset.png) - -2. In the Property Grid, under **Rendering Settings > Target graphics platform**, select the graphics platform you want to use. - - ![Select graphics platform](media/change-graphics-platform.png) - - If you select **Default**, Stride uses the graphics platform appropriate for your platform (eg Windows, Android) when you build. - -| Platform | Default graphics platform -|---------------|------------- -| Windows, UWP | Direct3D11 -| Linux, Mac OS | OpenGL -| Other | OpenGL ES - -## Override the graphics platform - -You can override the graphics platform Stride uses for specific platforms. For example, you can have Linux use Vulkan while other platforms use the default. - -1. With the **GameSettings** asset selected, in the Property Grid, under **Overrides**, click ![Green plus button](~/manual/game-studio/media/green-plus-icon.png) (**Add**). - - ![Select graphics platform](media/add-override.png) - - Game Studio adds an override. - -2. In the new override, next to **Platforms**, select the platforms you want this override to apply to. - - ![Select graphics platform override](media/select-override-platform.png) - -3. In the **Configuration** drop-down menu, select **Rendering Settings**. - - ![Select graphics platform override](media/select-override-configuration.png) - -4. Under **Rendering Settings**, in the **Preferred Graphics Platform** drop-down menu, select the graphics platform you want to use. - - ![Select graphics platform override](media/select-override-graphics-platform.png) - -Stride overrides the graphics platform for the platforms you selected. - -## Check which graphics platform your project uses - -1. Add a break point to your game code (eg in a script). - -2. Run the project. - -3. Check the value of the [GraphicsDevice.Platform](xref:Stride.Graphics.GraphicsDevice.Platform) variable. - - For example, this project is using Vulkan: - - ![Select graphics platform](media/check-platform-at-runtime.png) - -## See also - -* [Platforms index](index.md) -* [Game settings](../game-studio/game-settings.md) \ No newline at end of file +--- +redirect_url: ../graphics/graphics-api.html +--- diff --git a/en/manual/platforms/uwp/index.md b/en/manual/platforms/uwp/index.md index e4857d19d..41b9a76b8 100644 --- a/en/manual/platforms/uwp/index.md +++ b/en/manual/platforms/uwp/index.md @@ -1,9 +1,11 @@ # UWP -Universal Windows Platform (UWP) provides a common app platform available on every device that runs Windows. For more information about UWP, see [Intro to the Universal Windows Platform](https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide) on the MSDN documentation. - > [!WARNING] -> **UWP is no longer developed**. We recommend building the game for [Windows](../windows/index.md) instead. +> **UWP is no longer being developed**. We recommend building the game for [Windows](../windows/index.md) instead. + +Universal Windows Platform (UWP) provides a common app platform available on every device that runs Windows. For more information about UWP, see [Intro to the Universal Windows Platform](https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide). + +In October 2021 it was announced that UWP will stop receivng new features. Stride's support only exists for compatibility reasons. ## In this section diff --git a/en/manual/platforms/uwp/xbox-live.md b/en/manual/platforms/uwp/xbox-live.md index 53772fade..4ca1e4a35 100644 --- a/en/manual/platforms/uwp/xbox-live.md +++ b/en/manual/platforms/uwp/xbox-live.md @@ -1,5 +1,7 @@ # Xbox Live +> [!INCLUDE [out-of-date-page](../../../includes/out-of-date-page.md)] + This page explains how to configure your project to work with Xbox Live. ## 1. Before you start @@ -127,4 +129,4 @@ Now you can expose the `xbox_live_user` functionality and other classes in your ## See also -* [Platforms](../index.md) \ No newline at end of file +* [Platforms](../index.md) diff --git a/en/manual/platforms/windows/index.md b/en/manual/platforms/windows/index.md index 2ac4fbeb9..960fb0611 100644 --- a/en/manual/platforms/windows/index.md +++ b/en/manual/platforms/windows/index.md @@ -4,8 +4,8 @@ Windows is the most popular computer operating system for playing video games in ## Development support -Windows is the most supported platform by Stride. You have access to the full suite of tools, including **Game Studio**, which allows you to develop your games using an editor. +Windows has full support for developing games with Stride. All tools are available for it, including **Game Studio** (the editor). ## General support -All of Stride's features fully work on Windows. +All of Stride's features are fully supported on Windows. diff --git a/en/manual/toc.yml b/en/manual/toc.yml index f4d116017..45567deec 100644 --- a/en/manual/toc.yml +++ b/en/manual/toc.yml @@ -493,18 +493,17 @@ items: items: - name: Setup and requirements href: platforms/linux/setup-and-requirements.md - - name: Create a Linux game - href: platforms/linux/create-a-linux-game.md - name: MacOS href: platforms/macos/index.md - name: Android href: platforms/android/index.md - name: iOS href: platforms/ios/index.md + items: + - name: Build guide + href: platforms/ios/build-guide.md - name: Add or remove a platform href: platforms/add-or-remove-a-platform.md - - name: Set the graphics platform - href: platforms/set-the-graphics-platform.md - name: Project href: files-and-folders/index.md From 32c68f7552937dadf14836e5c1f582a4b15f8de7 Mon Sep 17 00:00:00 2001 From: Ferafiks Date: Fri, 22 May 2026 08:43:09 +0200 Subject: [PATCH 03/15] Improvements to the linux page --- en/manual/platforms/index.md | 5 ++-- en/manual/platforms/linux/index.md | 12 ++++++---- .../platforms/linux/setup-and-requirements.md | 23 +++++-------------- en/manual/platforms/macos/index.md | 8 +++---- en/manual/platforms/uwp/xbox-live.md | 2 +- 5 files changed, 20 insertions(+), 30 deletions(-) diff --git a/en/manual/platforms/index.md b/en/manual/platforms/index.md index f5a55d33c..2cf40a465 100644 --- a/en/manual/platforms/index.md +++ b/en/manual/platforms/index.md @@ -6,10 +6,9 @@ Stride is a cross-platform engine, which means that you can create a single game ## Supported development platforms -This is a list of all platforms that Stride supports for developing games. - * Windows 10, 11 * Linux (code-only) +* MacOS (code-only) > [!NOTE] > **Game Studio** is being rewritten to be cross-platform. Currently however, it's not possible to use it outside of **Windows**. @@ -36,7 +35,7 @@ if (Platform.Type == PlatformType.Android) ``` > [!WARNING] -> Stride also sets [preprocessor variables](../scripts/preprocessor-variables.md) depending on the current platform, however, it's generally advised to avoid using them. For more information read [Best practices](../scripts/best-practice.md). +> Stride also sets [preprocessor variables](../scripts/preprocessor-variables.md) for some platforms, however, it's generally advised to avoid using them. ## In this section diff --git a/en/manual/platforms/linux/index.md b/en/manual/platforms/linux/index.md index 0e35a36ed..1bccb8caa 100644 --- a/en/manual/platforms/linux/index.md +++ b/en/manual/platforms/linux/index.md @@ -1,20 +1,22 @@ # Linux -Linux is a suite of open source operating systems. It isn't a single product, but instead a base for creating custom operating systems, called distributions. +Linux is a suite of open source operating systems. It isn't a single product, but instead a base for creating custom operating systems, called **distributions**. Recently it has been growing in popularity among gamers due to devices such as the Steam Deck. + +It is possible to run games built for Windows on Linux using **compatibility layers** such as Proton, which is built into Steam. This however can decrease performance, making native builds a more preferable option. ## Development support -Currently, Linux only has **partial support**. It's not possible to run **Game Studio** on it, even when using a compatibility layer, such as wine. +Currently, Linux is only **partially supported**. It's not possible to run **Game Studio** on it, even when using a compatibility layer, such as Wine. -However, it is still possible to code and build games natively, meaning that when working in a team, some programmers could work on a project using Linux for tasks that don't require **Game Studio**. +However, it is still possible to code and build games natively, meaning that when in a team, some programmers could work on a project using Linux for tasks that don't require the editor. [!INCLUDE [xplat-editor-notice](../../../includes/xplat-editor-notice.md)] -Alternatively, it is possible to create games in Stride on Linux using a **code-only** approach, removing the need for an editor all together. +Alternatively, it is possible to create Stride games on Linux using a **code-only** approach, removing the need for an editor all together. ## General support -All of Stride's core features work on Linux. You might run into issues when using certain systems (such as video). +All of Stride's core features work on Linux. However, you might run into issues when using certain systems (such as video). ## Wayland support diff --git a/en/manual/platforms/linux/setup-and-requirements.md b/en/manual/platforms/linux/setup-and-requirements.md index ae83de917..aadda193f 100644 --- a/en/manual/platforms/linux/setup-and-requirements.md +++ b/en/manual/platforms/linux/setup-and-requirements.md @@ -1,14 +1,10 @@ # Setup and requirements -To develop for Linux using Stride, you need a Linux PC with a graphics card that supports Vulkan. - -The instructions below assume you have Debian 12 installed. - -You will also need a Windows PC to build your projects for Linux using Game Studio. +This page describes how to setup your computer in order to develop and play Stride games. ## Setup -You need the following packages: +In order to run games made for Linux, you'll need a Linux PC with a graphics card that supports Vulkan along with the following packages: * [FreeType](#freetype) * [OpenAL](#openal) @@ -17,7 +13,7 @@ You need the following packages: ## FreeType -To render fonts, we use the [FreeType](https://www.freetype.org/) library. The minimum required version is 2.6 and can be installed via: +To render fonts, we use the [FreeType](https://www.freetype.org/) library. The minimum required version is 2.6 and can be installed with your distribution's package manager. ### [Debian / Ubuntu](#tab/ubuntu) @@ -41,7 +37,7 @@ sudo pacman -S freetype2 ## OpenAL -To play sounds and music, we use the [OpenAL](https://www.openal.org/) library. It can be installed via: +To play sounds and music, we use the [OpenAL](https://www.openal.org/) library. It can be installed with your distribution's package manager. ### [Debian / Ubuntu](#tab/ubuntu) @@ -65,7 +61,7 @@ sudo pacman -S openal ## SDL2 -To run games on Linux, we use the [SDL2](https://www.libsdl.org/) library which provides the ability to create windows, handle mouse, keyboard and joystick events. The minimum required version is 2.0.4 and can be installed via: +To run games on Linux, we use the [SDL2](https://www.libsdl.org/) library which provides the ability to create windows, handle mouse, keyboard and joystick events. The minimum required version is 2.0.4 and can be installed with your distribution's package manager. ### [Debian / Ubuntu](#tab/ubuntu) @@ -89,7 +85,7 @@ sudo pacman -S sdl2 ## FreeImage -[FreeImage](https://freeimage.sourceforge.io/) is battle-tested library for loading and saving popular image file formats like BMP, PNG, JPEG etc. The minimum required version is 3.18 and can be installed via: +[FreeImage](https://freeimage.sourceforge.io/) is battle-tested library for loading and saving popular image file formats like BMP, PNG, JPEG etc. The minimum required version is 3.18 and can be installed with your distribution's package manager. ### [Debian / Ubuntu](#tab/ubuntu) @@ -112,15 +108,8 @@ You can get the source code from [the freeimage website](https://freeimage.sourc Alternatively, you can use a tool, such as `yay` to obtain the package from the AUR. -> [!WARNING] -> Packages listed on the AUR **are maintained by other users**, meaning that it's **possible for them to contain malicious code**. Proceed at your own risk. - ```bash yay -S freeimage ``` --- - -## See also - -* [Create a Linux game](create-a-linux-game.md) diff --git a/en/manual/platforms/macos/index.md b/en/manual/platforms/macos/index.md index 635c106e5..601d88078 100644 --- a/en/manual/platforms/macos/index.md +++ b/en/manual/platforms/macos/index.md @@ -4,16 +4,16 @@ MacOS is a desktop operating system used on Apple devices. ## Development support -Currently, MacOS only has **partial support**. It's not possible to run **Game Studio** on it. +Currently, MacOS is only **partially supported**. It's not possible to run **Game Studio** on it. -However, it is possible to code and build games natively, meaning that when working in a team, some programmers could work on a project using MacOS for tasks that don't require **Game Studio**. +However, it is possible to code and build games natively, meaning that when in a team, some programmers could work on a project using MacOS for tasks that don't require the editor. [!INCLUDE [xplat-editor-notice](../../../includes/xplat-editor-notice.md)] -Alternatively, it is possible to create games in Stride on MacOS using a **code-only** approach, removing the need for an editor all together. +Alternatively, it is possible to create Stride games on MacOS using a **code-only** approach, removing the need for an editor all together. ## General support -All of Stride's core features should work on MacOS. You might run into issues when using certain systems (such as video). +All of Stride's core features should work on MacOS. However, you might run into issues when using certain systems (such as video). Stride supports building for MacOS, but it hasn't been tested in a while. There might be problems that may not be easily solvable without modifications to the engine. diff --git a/en/manual/platforms/uwp/xbox-live.md b/en/manual/platforms/uwp/xbox-live.md index 4ca1e4a35..d73c1bbe8 100644 --- a/en/manual/platforms/uwp/xbox-live.md +++ b/en/manual/platforms/uwp/xbox-live.md @@ -1,6 +1,6 @@ # Xbox Live -> [!INCLUDE [out-of-date-page](../../../includes/out-of-date-page.md)] +[!INCLUDE [out-of-date-page](../../../includes/out-of-date-page.md)] This page explains how to configure your project to work with Xbox Live. From f9781509123ba2e761a3958e2cc0459477eb044e Mon Sep 17 00:00:00 2001 From: Ferafiks Date: Fri, 22 May 2026 13:51:51 +0200 Subject: [PATCH 04/15] Minor typos --- en/manual/platforms/linux/index.md | 4 ++-- en/manual/platforms/linux/setup-and-requirements.md | 13 ++++++------- en/manual/platforms/macos/index.md | 2 +- en/manual/platforms/windows/index.md | 4 ++-- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/en/manual/platforms/linux/index.md b/en/manual/platforms/linux/index.md index 1bccb8caa..610790b1d 100644 --- a/en/manual/platforms/linux/index.md +++ b/en/manual/platforms/linux/index.md @@ -1,12 +1,12 @@ # Linux -Linux is a suite of open source operating systems. It isn't a single product, but instead a base for creating custom operating systems, called **distributions**. Recently it has been growing in popularity among gamers due to devices such as the Steam Deck. +Linux is a suite of open source operating systems. It isn't a single product, but instead a base for creating custom operating systems, called **distributions**. Recently, it has been growing in popularity among gamers due to devices such as the Steam Deck. It is possible to run games built for Windows on Linux using **compatibility layers** such as Proton, which is built into Steam. This however can decrease performance, making native builds a more preferable option. ## Development support -Currently, Linux is only **partially supported**. It's not possible to run **Game Studio** on it, even when using a compatibility layer, such as Wine. +Currently, developing games on Linux is only **partially supported**. It's not possible to run **Game Studio** (the editor) on Linux, even when using a compatibility layer, such as Wine. However, it is still possible to code and build games natively, meaning that when in a team, some programmers could work on a project using Linux for tasks that don't require the editor. diff --git a/en/manual/platforms/linux/setup-and-requirements.md b/en/manual/platforms/linux/setup-and-requirements.md index aadda193f..a72af135e 100644 --- a/en/manual/platforms/linux/setup-and-requirements.md +++ b/en/manual/platforms/linux/setup-and-requirements.md @@ -13,7 +13,7 @@ In order to run games made for Linux, you'll need a Linux PC with a graphics car ## FreeType -To render fonts, we use the [FreeType](https://www.freetype.org/) library. The minimum required version is 2.6 and can be installed with your distribution's package manager. +To render fonts, we use the [FreeType](https://www.freetype.org/) library. The minimum required version is 2.6 and can be installed with your distribution's package manager: ### [Debian / Ubuntu](#tab/ubuntu) @@ -37,7 +37,7 @@ sudo pacman -S freetype2 ## OpenAL -To play sounds and music, we use the [OpenAL](https://www.openal.org/) library. It can be installed with your distribution's package manager. +To play sounds and music, we use the [OpenAL](https://www.openal.org/) library. It can be installed with your distribution's package manager: ### [Debian / Ubuntu](#tab/ubuntu) @@ -61,7 +61,7 @@ sudo pacman -S openal ## SDL2 -To run games on Linux, we use the [SDL2](https://www.libsdl.org/) library which provides the ability to create windows, handle mouse, keyboard and joystick events. The minimum required version is 2.0.4 and can be installed with your distribution's package manager. +To run games on Linux, we use the [SDL2](https://www.libsdl.org/) library which provides the ability to create windows, handle mouse, keyboard and joystick events. The minimum required version is 2.0.4 and can be installed with your distribution's package manager: ### [Debian / Ubuntu](#tab/ubuntu) @@ -85,8 +85,7 @@ sudo pacman -S sdl2 ## FreeImage -[FreeImage](https://freeimage.sourceforge.io/) is battle-tested library for loading and saving popular image file formats like BMP, PNG, JPEG etc. The minimum required version is 3.18 and can be installed with your distribution's package manager. - +[FreeImage](https://freeimage.sourceforge.io/) is battle-tested library for loading and saving popular image file formats like BMP, PNG, JPEG etc. The minimum required version is 3.18 and can be installed with your distribution's package manager: ### [Debian / Ubuntu](#tab/ubuntu) @@ -102,9 +101,9 @@ sudo dnf install freeimage-devel ### [Arch](#tab/arch) -Freeimage isn't available in Arch's package manager, but it can be manually compiled source code. +Freeimage isn't available in Arch's package manager, but it can be manually compiled from source code. -You can get the source code from [the freeimage website](https://freeimage.sourceforge.io/download.html) (download the source distribution). +You can get the source code from the [freeimage website](https://freeimage.sourceforge.io/download.html) (download the source distribution). Alternatively, you can use a tool, such as `yay` to obtain the package from the AUR. diff --git a/en/manual/platforms/macos/index.md b/en/manual/platforms/macos/index.md index 601d88078..3f1505b5e 100644 --- a/en/manual/platforms/macos/index.md +++ b/en/manual/platforms/macos/index.md @@ -4,7 +4,7 @@ MacOS is a desktop operating system used on Apple devices. ## Development support -Currently, MacOS is only **partially supported**. It's not possible to run **Game Studio** on it. +Currently, MacOS is only **partially supported**. It's not possible to run **Game Studio** (the editor) on it. However, it is possible to code and build games natively, meaning that when in a team, some programmers could work on a project using MacOS for tasks that don't require the editor. diff --git a/en/manual/platforms/windows/index.md b/en/manual/platforms/windows/index.md index 960fb0611..2f57d683f 100644 --- a/en/manual/platforms/windows/index.md +++ b/en/manual/platforms/windows/index.md @@ -1,10 +1,10 @@ # Windows -Windows is the most popular computer operating system for playing video games in the world. +Windows is the most popular desktop operating system for playing video games in the world. ## Development support -Windows has full support for developing games with Stride. All tools are available for it, including **Game Studio** (the editor). +Stride fully supports developing games on Windows. All tools are available for it, including **Game Studio** (the editor). ## General support From b34c9c6ed0913666abf605e9eb7814578a69b8ef Mon Sep 17 00:00:00 2001 From: Ferafiks Date: Fri, 22 May 2026 13:58:33 +0200 Subject: [PATCH 05/15] Removed unused images --- en/manual/game-studio/game-settings.md | 8 ++++---- .../{platforms => game-studio}/media/add-override.png | 0 .../media/select-override-configuration.png | 0 .../media/select-override-platform.png | 0 en/manual/platforms/linux/setup-and-requirements.md | 2 +- en/manual/platforms/media/change-device.png | 3 --- en/manual/platforms/media/change-graphics-platform.png | 3 --- en/manual/platforms/media/check-platform-at-runtime.png | 3 --- en/manual/platforms/media/connect-to-xamarin.png | 3 --- en/manual/platforms/media/games-settings-asset.png | 3 --- en/manual/platforms/media/select-bundle-id.png | 3 --- .../platforms/media/select-override-graphics-platform.png | 3 --- jp/manual/game-studio/game-settings.md | 2 +- 13 files changed, 6 insertions(+), 27 deletions(-) rename en/manual/{platforms => game-studio}/media/add-override.png (100%) rename en/manual/{platforms => game-studio}/media/select-override-configuration.png (100%) rename en/manual/{platforms => game-studio}/media/select-override-platform.png (100%) delete mode 100644 en/manual/platforms/media/change-device.png delete mode 100644 en/manual/platforms/media/change-graphics-platform.png delete mode 100644 en/manual/platforms/media/check-platform-at-runtime.png delete mode 100644 en/manual/platforms/media/connect-to-xamarin.png delete mode 100644 en/manual/platforms/media/games-settings-asset.png delete mode 100644 en/manual/platforms/media/select-bundle-id.png delete mode 100644 en/manual/platforms/media/select-override-graphics-platform.png diff --git a/en/manual/game-studio/game-settings.md b/en/manual/game-studio/game-settings.md index b42e02d50..29a631dae 100644 --- a/en/manual/game-studio/game-settings.md +++ b/en/manual/game-studio/game-settings.md @@ -160,13 +160,13 @@ You can override settings for particular platforms, graphics APIs, and so on. Fo 1. With the **GameSettings** asset selected, in the **Property Grid**, under **Overrides**, click ![Green plus button](~/manual/game-studio/media/green-plus-icon.png) (**Add**). - ![Select graphics platform](../platforms/media/add-override.png) + ![Select graphics platform](/media/add-override.png) Game Studio adds an override. 2. In the new override, next to **Platforms**, select the platforms you want the override to apply to. You can select as many as you need. - ![Select graphics platform override](../platforms/media/select-override-platform.png) + ![Select graphics platform override](/media/select-override-platform.png) 3. **Optional**: If you want this override to apply only to a specific GPU platform, choose it from the **Specific filter** drop-down list. @@ -176,7 +176,7 @@ You can override settings for particular platforms, graphics APIs, and so on. Fo 4. In the **Configuration** drop-down menu, select the kind of setting you want to override (**Editor**, **Texture**, **Rendering** or **Physics**). - ![Select graphics platform override](../platforms/media/select-override-configuration.png) + ![Select graphics platform override](media/select-override-configuration.png) 5. Set the options you want to override. @@ -225,4 +225,4 @@ For more information, see [Splash screen](/splash-screen.md). ## See also -* [Assets](../game-studio/assets.md) \ No newline at end of file +* [Assets](../game-studio/assets.md) diff --git a/en/manual/platforms/media/add-override.png b/en/manual/game-studio/media/add-override.png similarity index 100% rename from en/manual/platforms/media/add-override.png rename to en/manual/game-studio/media/add-override.png diff --git a/en/manual/platforms/media/select-override-configuration.png b/en/manual/game-studio/media/select-override-configuration.png similarity index 100% rename from en/manual/platforms/media/select-override-configuration.png rename to en/manual/game-studio/media/select-override-configuration.png diff --git a/en/manual/platforms/media/select-override-platform.png b/en/manual/game-studio/media/select-override-platform.png similarity index 100% rename from en/manual/platforms/media/select-override-platform.png rename to en/manual/game-studio/media/select-override-platform.png diff --git a/en/manual/platforms/linux/setup-and-requirements.md b/en/manual/platforms/linux/setup-and-requirements.md index a72af135e..f1afaebac 100644 --- a/en/manual/platforms/linux/setup-and-requirements.md +++ b/en/manual/platforms/linux/setup-and-requirements.md @@ -103,7 +103,7 @@ sudo dnf install freeimage-devel Freeimage isn't available in Arch's package manager, but it can be manually compiled from source code. -You can get the source code from the [freeimage website](https://freeimage.sourceforge.io/download.html) (download the source distribution). +You can get the source code from [the freeimage website](https://freeimage.sourceforge.io/download.html) (download the source distribution). Alternatively, you can use a tool, such as `yay` to obtain the package from the AUR. diff --git a/en/manual/platforms/media/change-device.png b/en/manual/platforms/media/change-device.png deleted file mode 100644 index 88628efe9..000000000 --- a/en/manual/platforms/media/change-device.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ca97de0321cfa216e654a10fcee2f186a3320bc8aca3b5cb6808902dc10a2215 -size 90133 diff --git a/en/manual/platforms/media/change-graphics-platform.png b/en/manual/platforms/media/change-graphics-platform.png deleted file mode 100644 index ca338fe8b..000000000 --- a/en/manual/platforms/media/change-graphics-platform.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5e600fb77701c536184029c01b734dbe9d9bf0a4a4dfa1c826e55df4c59edf62 -size 17826 diff --git a/en/manual/platforms/media/check-platform-at-runtime.png b/en/manual/platforms/media/check-platform-at-runtime.png deleted file mode 100644 index a9df2343f..000000000 --- a/en/manual/platforms/media/check-platform-at-runtime.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cb118921a1fdda4738085d1556ec9439e6182cca1cc30defc6053eb7bc96cf12 -size 27001 diff --git a/en/manual/platforms/media/connect-to-xamarin.png b/en/manual/platforms/media/connect-to-xamarin.png deleted file mode 100644 index b0ae02656..000000000 --- a/en/manual/platforms/media/connect-to-xamarin.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bc99f4027e16c0bd57f51f7803181fd793a36d640e48b3e9ac50a9744c768876 -size 16203 diff --git a/en/manual/platforms/media/games-settings-asset.png b/en/manual/platforms/media/games-settings-asset.png deleted file mode 100644 index 380b83c83..000000000 --- a/en/manual/platforms/media/games-settings-asset.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7b89bfec5f32b2a453c7e2d80e21bfaa674a7a271d3dca8234e0ff738d305a6a -size 94123 diff --git a/en/manual/platforms/media/select-bundle-id.png b/en/manual/platforms/media/select-bundle-id.png deleted file mode 100644 index f8a389937..000000000 --- a/en/manual/platforms/media/select-bundle-id.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:23da73574b05cfa3d1eeee0361395fa8859b22482d59581617e25dc02b59a078 -size 83646 diff --git a/en/manual/platforms/media/select-override-graphics-platform.png b/en/manual/platforms/media/select-override-graphics-platform.png deleted file mode 100644 index f9f576ce1..000000000 --- a/en/manual/platforms/media/select-override-graphics-platform.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9876e4f98c9c4188d7eb67e4dea42e42acf951650e61186e7f085405ce213f16 -size 21649 diff --git a/jp/manual/game-studio/game-settings.md b/jp/manual/game-studio/game-settings.md index cfeb03268..7968d2ee0 100644 --- a/jp/manual/game-studio/game-settings.md +++ b/jp/manual/game-studio/game-settings.md @@ -159,7 +159,7 @@ Graphics Compositor を設定するには: 1. [GameSettings]アセットを選択し、[Property grid]の[Overrides]で ![Green plus button](~/manual/game-studio/media/green-plus-icon.png) ([Add a new item to the list]) をクリックします。 - ![Select graphics platform](../platforms/media/add-override.png) + ![Select graphics platform](media/add-override.png) オーバーライドが追加されます。 From 4cff0a0fc8280e09f729e03b7c564be715cff72e Mon Sep 17 00:00:00 2001 From: Ferafiks Date: Fri, 22 May 2026 14:26:07 +0200 Subject: [PATCH 06/15] Updated add or remove platforms --- .../platforms/add-or-remove-a-platform.md | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/en/manual/platforms/add-or-remove-a-platform.md b/en/manual/platforms/add-or-remove-a-platform.md index 44fa40272..256d4fde2 100644 --- a/en/manual/platforms/add-or-remove-a-platform.md +++ b/en/manual/platforms/add-or-remove-a-platform.md @@ -2,24 +2,31 @@ Beginner -You can add and remove platforms to and from projects. +When creating a new game, Stride prompts you to select the platforms which you want to target. This can be changed after the fact. -1. In the **Solution Explorer** (default bottom left), right-click the project and select **Update package > Update platforms**. +## Add or remove a platform + +1. In the **Solution explorer**, locate the main [**project package**](../files-and-folders/project-packages/index.md) (in a standard project, it's the one that doesn't end with `.NameOfPlatform`). - ![Update platforms](media/update-platforms.png) + TODO: IMAGE + +2. Right click on it and select **Update package > Update platforms**. - The **Select Platforms** dialog opens. + TODO: IMAGE + +3. Select which platforms you want to support and click **Ok**. - ![Select platforms](media/select-platforms.png) + TODO: IMAGE -2. Select the platforms you want to support and click **OK**. +4. Reload the assemblies by clicking the **Reload game assembles** button in the toolbar. -3. Reload the assemblies by clicking the **Reload game assembles** button in the toolbar. - - ![Reload assemblies](media/reload-assemblies.png) + TODO: IMAGE + +> [!NOTE] +> To update the platforms dropdown in the toolbar, you will have to restart **Game Studio**. -The supported platforms are updated. To refresh the platforms list in the toolbar, restart Game Studio. +TODO: CHECK IF REMOVED PLATFORMS GET DELETED ## See also -* [Platforms](index.md) \ No newline at end of file +* [Platforms](index.md) From 0c01c752655cfa952fbd20141cda21a3aa1047e6 Mon Sep 17 00:00:00 2001 From: Ferafiks Date: Fri, 22 May 2026 14:52:00 +0200 Subject: [PATCH 07/15] Android page --- en/manual/physics-bullet/colliders.md | 4 ++-- .../media/reload-assemblies.png | 0 en/manual/platforms/android/index.md | 6 +++++- en/manual/platforms/ios/index.md | 2 +- en/manual/platforms/media/select-platforms.png | 3 --- en/manual/platforms/media/update-platforms.png | 3 --- en/manual/stride-for-godot-developers/index.md | 2 +- .../stride-for-godot-developers/media/reload-assemblies.png | 3 +++ en/manual/stride-for-unity-developers/index.md | 2 +- .../stride-for-unity-developers/media/reload-assemblies.png | 3 +++ 10 files changed, 16 insertions(+), 12 deletions(-) rename en/manual/{platforms => physics-bullet}/media/reload-assemblies.png (100%) delete mode 100644 en/manual/platforms/media/select-platforms.png delete mode 100644 en/manual/platforms/media/update-platforms.png create mode 100644 en/manual/stride-for-godot-developers/media/reload-assemblies.png create mode 100644 en/manual/stride-for-unity-developers/media/reload-assemblies.png diff --git a/en/manual/physics-bullet/colliders.md b/en/manual/physics-bullet/colliders.md index d94a0720d..0693fec33 100644 --- a/en/manual/physics-bullet/colliders.md +++ b/en/manual/physics-bullet/colliders.md @@ -77,7 +77,7 @@ To show or hide collider shapes at runtime with a keyboard shortcut, use the **D 3. In the Game Studio toolbar, click **Reload assemblies and update scripts**. - ![Reload assemblies](../platforms/media/reload-assemblies.png) + ![Reload assemblies](media/reload-assemblies.png) 4. Add the **Debug physics shapes** script as a component to an entity in the scene. It doesn't matter which entity. @@ -92,4 +92,4 @@ The script binds the collider shape visibility to **Left Shift + Left Ctrl + P** * [Rigidbodies](rigid-bodies.md) * [Kinematic rigidbodies](kinematic-rigid-bodies.md) * [Simulation](simulation.md) -* [Physics tutorials](tutorials.md) \ No newline at end of file +* [Physics tutorials](tutorials.md) diff --git a/en/manual/platforms/media/reload-assemblies.png b/en/manual/physics-bullet/media/reload-assemblies.png similarity index 100% rename from en/manual/platforms/media/reload-assemblies.png rename to en/manual/physics-bullet/media/reload-assemblies.png diff --git a/en/manual/platforms/android/index.md b/en/manual/platforms/android/index.md index 326e1f1fb..430bf95f6 100644 --- a/en/manual/platforms/android/index.md +++ b/en/manual/platforms/android/index.md @@ -1,3 +1,7 @@ # Android -:P +Android is a mobile operating system developed by Google used in most smarthphones and tablets. + +## General support + +All of Stride's core features work on Android. However, you might run into issues when using certain systems. diff --git a/en/manual/platforms/ios/index.md b/en/manual/platforms/ios/index.md index d704b8736..690ea6924 100644 --- a/en/manual/platforms/ios/index.md +++ b/en/manual/platforms/ios/index.md @@ -4,7 +4,7 @@ iOS is an operating system used on mobile devices made by Apple. ## General support -All of Stride's core features should work on iOS. You might run into issues when using certain systems (such as video). +All of Stride's core features should work on iOS. However, you might run into issues when using certain systems (such as video). Stride supports building for iOS, but it hasn't been tested in a while. There might be problems that may not be easily solvable without modifications to the engine. diff --git a/en/manual/platforms/media/select-platforms.png b/en/manual/platforms/media/select-platforms.png deleted file mode 100644 index ccb957761..000000000 --- a/en/manual/platforms/media/select-platforms.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e690ac4f4e995c248ac7385ed5cd58a2818d8688fceab7a1479ba30e21c41911 -size 15707 diff --git a/en/manual/platforms/media/update-platforms.png b/en/manual/platforms/media/update-platforms.png deleted file mode 100644 index 4b54aa677..000000000 --- a/en/manual/platforms/media/update-platforms.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:523f8674656ecc411d10bd2fc6d2cfd9461f5f312257ac1318f9124621da212a -size 67696 diff --git a/en/manual/stride-for-godot-developers/index.md b/en/manual/stride-for-godot-developers/index.md index e0aea0933..04f83c2fd 100644 --- a/en/manual/stride-for-godot-developers/index.md +++ b/en/manual/stride-for-godot-developers/index.md @@ -539,7 +539,7 @@ In Godot, you use methods like `_Ready()` for initialization and `_Process(delta After you create a script, you may have to reload the assemblies manually. To do this, click **Reload assemblies** in the Game Studio toolbar. -![Reload assemblies](../platforms/media/reload-assemblies.png) +![Reload assemblies](media/reload-assemblies.png) #### Godot diff --git a/en/manual/stride-for-godot-developers/media/reload-assemblies.png b/en/manual/stride-for-godot-developers/media/reload-assemblies.png new file mode 100644 index 000000000..3b5e5ed08 --- /dev/null +++ b/en/manual/stride-for-godot-developers/media/reload-assemblies.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13073d29c4a2bb21989061fd5bd36c411f4fe29d2030309dd7f4ca0bdc91f5c1 +size 17429 diff --git a/en/manual/stride-for-unity-developers/index.md b/en/manual/stride-for-unity-developers/index.md index 6119255cd..128a7491d 100644 --- a/en/manual/stride-for-unity-developers/index.md +++ b/en/manual/stride-for-unity-developers/index.md @@ -612,7 +612,7 @@ If you want your script to be a startup or asynchronous, use the corresponding s After you create a script, you may have to reload the assemblies manually. To do this, click **Reload assemblies** in the Game Studio toolbar. -![Reload assemblies](../platforms/media/reload-assemblies.png) +![Reload assemblies](media/reload-assemblies.png) ### Add scripts to entities diff --git a/en/manual/stride-for-unity-developers/media/reload-assemblies.png b/en/manual/stride-for-unity-developers/media/reload-assemblies.png new file mode 100644 index 000000000..3b5e5ed08 --- /dev/null +++ b/en/manual/stride-for-unity-developers/media/reload-assemblies.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13073d29c4a2bb21989061fd5bd36c411f4fe29d2030309dd7f4ca0bdc91f5c1 +size 17429 From 29d468e67ec06353af549244525c4dcefb2eabbe Mon Sep 17 00:00:00 2001 From: Ferafiks Date: Fri, 22 May 2026 15:03:17 +0200 Subject: [PATCH 08/15] Links --- en/manual/platforms/android/index.md | 2 +- en/manual/platforms/index.md | 21 +++++++++++---------- en/manual/platforms/ios/index.md | 4 ++-- en/manual/platforms/linux/index.md | 2 +- en/manual/platforms/macos/index.md | 2 +- en/manual/platforms/windows/index.md | 2 +- 6 files changed, 17 insertions(+), 16 deletions(-) diff --git a/en/manual/platforms/android/index.md b/en/manual/platforms/android/index.md index 430bf95f6..7103528b2 100644 --- a/en/manual/platforms/android/index.md +++ b/en/manual/platforms/android/index.md @@ -1,6 +1,6 @@ # Android -Android is a mobile operating system developed by Google used in most smarthphones and tablets. +**Android** is a mobile operating system developed by [Google](https://about.google/) used in most smarthphones and tablets. ## General support diff --git a/en/manual/platforms/index.md b/en/manual/platforms/index.md index 2cf40a465..8a076bf75 100644 --- a/en/manual/platforms/index.md +++ b/en/manual/platforms/index.md @@ -6,20 +6,20 @@ Stride is a cross-platform engine, which means that you can create a single game ## Supported development platforms -* Windows 10, 11 -* Linux (code-only) -* MacOS (code-only) +* [Windows](windows/index.md) 10, 11 +* [Linux](linux/index.md) (code-only) +* [MacOS](macos/index.md) (code-only) > [!NOTE] > **Game Studio** is being rewritten to be cross-platform. Currently however, it's not possible to use it outside of **Windows**. ## Supported target platforms -* Windows 10, 11 -* Linux -* MacOS (untested) -* Android -* iOS (untested) +* [Windows](windows/index.md) 10, 11 +* [Linux](linux/index.md) +* [MacOS](macos/index.md) (untested) +* [Android](android/index.md) +* [iOS](ios/index.md) (untested) ## Platform specific code @@ -41,10 +41,11 @@ if (Platform.Type == PlatformType.Android) * [Windows](windows/index.md) * [UWP](uwp/index.md) - * [Xbox Live](uwp/xbox-live.md) + * [Xbox Live](uwp/xbox-live.md) * [Linux](linux/index.md) + * [Setup and requirements](linux/setup-and-requirements.md) * [MacOS](macos/index.md) * [Android](android/index.md) * [iOS](ios/index.md) + * [Build guide](ios/build-guide.md) * [Add or remove a platform](add-or-remove-a-platform.md) -* [Set the graphics platform](set-the-graphics-platform.md) diff --git a/en/manual/platforms/ios/index.md b/en/manual/platforms/ios/index.md index 690ea6924..4bbe871dd 100644 --- a/en/manual/platforms/ios/index.md +++ b/en/manual/platforms/ios/index.md @@ -1,6 +1,6 @@ # iOS -iOS is an operating system used on mobile devices made by Apple. +**iOS** is an operating system used on mobile devices made by [Apple](https://apple.com). ## General support @@ -9,4 +9,4 @@ All of Stride's core features should work on iOS. However, you might run into is Stride supports building for iOS, but it hasn't been tested in a while. There might be problems that may not be easily solvable without modifications to the engine. > [!NOTE] -> All iOS applications (including games made with Stride) **can only be built on devices running MacOS**. +> All iOS applications (including games made with Stride) **can only be built on devices running [MacOS](../macos/index.md)**. diff --git a/en/manual/platforms/linux/index.md b/en/manual/platforms/linux/index.md index 610790b1d..0f203a6cc 100644 --- a/en/manual/platforms/linux/index.md +++ b/en/manual/platforms/linux/index.md @@ -1,6 +1,6 @@ # Linux -Linux is a suite of open source operating systems. It isn't a single product, but instead a base for creating custom operating systems, called **distributions**. Recently, it has been growing in popularity among gamers due to devices such as the Steam Deck. +**Linux** is a suite of open source operating systems. It isn't a single product, but instead a base for creating custom OS's, called **distributions**. Recently, it has been growing in popularity among gamers due to devices such as the Steam Deck. It is possible to run games built for Windows on Linux using **compatibility layers** such as Proton, which is built into Steam. This however can decrease performance, making native builds a more preferable option. diff --git a/en/manual/platforms/macos/index.md b/en/manual/platforms/macos/index.md index 3f1505b5e..2c396334c 100644 --- a/en/manual/platforms/macos/index.md +++ b/en/manual/platforms/macos/index.md @@ -1,6 +1,6 @@ # MacOS -MacOS is a desktop operating system used on Apple devices. +**MacOS** is a desktop operating system used on [Apple](https://apple.com) devices. ## Development support diff --git a/en/manual/platforms/windows/index.md b/en/manual/platforms/windows/index.md index 2f57d683f..8cea6b1ea 100644 --- a/en/manual/platforms/windows/index.md +++ b/en/manual/platforms/windows/index.md @@ -1,6 +1,6 @@ # Windows -Windows is the most popular desktop operating system for playing video games in the world. +**Windows** is the most popular desktop operating system for playing video games in the world. ## Development support From 2f2349064b9e58abc4b4a843b5e652710e3e81be Mon Sep 17 00:00:00 2001 From: Ferafiks Date: Fri, 22 May 2026 16:53:36 +0200 Subject: [PATCH 09/15] Images --- .../platforms/add-or-remove-a-platform.md | 19 +++++++------------ .../platforms/media/reload-assemblies.webp | 3 +++ .../platforms/media/select-platforms.webp | 3 +++ ...olution-explorer-main-project-package.webp | 3 +++ .../solution-explorer-update-platforms.webp | 3 +++ 5 files changed, 19 insertions(+), 12 deletions(-) create mode 100644 en/manual/platforms/media/reload-assemblies.webp create mode 100644 en/manual/platforms/media/select-platforms.webp create mode 100644 en/manual/platforms/media/solution-explorer-main-project-package.webp create mode 100644 en/manual/platforms/media/solution-explorer-update-platforms.webp diff --git a/en/manual/platforms/add-or-remove-a-platform.md b/en/manual/platforms/add-or-remove-a-platform.md index 256d4fde2..c23ba3261 100644 --- a/en/manual/platforms/add-or-remove-a-platform.md +++ b/en/manual/platforms/add-or-remove-a-platform.md @@ -7,25 +7,20 @@ When creating a new game, Stride prompts you to select the platforms which you w ## Add or remove a platform 1. In the **Solution explorer**, locate the main [**project package**](../files-and-folders/project-packages/index.md) (in a standard project, it's the one that doesn't end with `.NameOfPlatform`). - - TODO: IMAGE + + ![](media/solution-explorer-main-project-package.webp) 2. Right click on it and select **Update package > Update platforms**. - - TODO: IMAGE -3. Select which platforms you want to support and click **Ok**. - - TODO: IMAGE + ![](media/solution-explorer-update-platforms.webp) -4. Reload the assemblies by clicking the **Reload game assembles** button in the toolbar. +3. Select which platforms you want to support and click **Ok**. - TODO: IMAGE + ![](media/select-platforms.webp) -> [!NOTE] -> To update the platforms dropdown in the toolbar, you will have to restart **Game Studio**. +4. Reload the assemblies by clicking the **Reload game assemblies** button in the toolbar. -TODO: CHECK IF REMOVED PLATFORMS GET DELETED + ![](media/reload-assemblies.webp) ## See also diff --git a/en/manual/platforms/media/reload-assemblies.webp b/en/manual/platforms/media/reload-assemblies.webp new file mode 100644 index 000000000..c6bc7678f --- /dev/null +++ b/en/manual/platforms/media/reload-assemblies.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8a98210ad27e400d60da3f79fcb7c96c54ee0d6f480484e76a6d60ed1e4ee53 +size 7226 diff --git a/en/manual/platforms/media/select-platforms.webp b/en/manual/platforms/media/select-platforms.webp new file mode 100644 index 000000000..0c4e79976 --- /dev/null +++ b/en/manual/platforms/media/select-platforms.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75f269edac1940224916a6e2378ec913fc8c7f137506b014f64e8c0cad74fd32 +size 20908 diff --git a/en/manual/platforms/media/solution-explorer-main-project-package.webp b/en/manual/platforms/media/solution-explorer-main-project-package.webp new file mode 100644 index 000000000..5c5d1b8b8 --- /dev/null +++ b/en/manual/platforms/media/solution-explorer-main-project-package.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c1d973ef50ac9b2da093313bfa441a9754d9266760b32ded9ac9e08a0353462 +size 11542 diff --git a/en/manual/platforms/media/solution-explorer-update-platforms.webp b/en/manual/platforms/media/solution-explorer-update-platforms.webp new file mode 100644 index 000000000..b25afa036 --- /dev/null +++ b/en/manual/platforms/media/solution-explorer-update-platforms.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9df1d3e3e9857e0e8cfc4cf5d5ea6588700c9944b0ecde3ee3e60c6145b93c5f +size 72292 From 70a2974992e98baebba697ca58e4624371a0b820 Mon Sep 17 00:00:00 2001 From: Ferafiks Date: Fri, 22 May 2026 18:14:55 +0200 Subject: [PATCH 10/15] Fixed typos --- en/manual/platforms/add-or-remove-a-platform.md | 8 ++++++-- en/manual/platforms/android/index.md | 2 +- en/manual/platforms/index.md | 2 +- en/manual/platforms/ios/index.md | 6 +++--- .../platforms/linux/setup-and-requirements.md | 14 ++++++++------ en/manual/platforms/macos/index.md | 6 +++--- en/manual/platforms/uwp/index.md | 2 +- en/manual/platforms/windows/index.md | 4 ++++ 8 files changed, 27 insertions(+), 17 deletions(-) diff --git a/en/manual/platforms/add-or-remove-a-platform.md b/en/manual/platforms/add-or-remove-a-platform.md index c23ba3261..140b65b1e 100644 --- a/en/manual/platforms/add-or-remove-a-platform.md +++ b/en/manual/platforms/add-or-remove-a-platform.md @@ -6,7 +6,7 @@ When creating a new game, Stride prompts you to select the platforms which you w ## Add or remove a platform -1. In the **Solution explorer**, locate the main [**project package**](../files-and-folders/project-packages/index.md) (in a standard project, it's the one that doesn't end with `.NameOfPlatform`). +1. In the **Solution explorer**, locate the main [**project package**](../files-and-folders/project-packages/index.md). Typically it's the one that doesn't end with `.NameOfPlatform`. ![](media/solution-explorer-main-project-package.webp) @@ -18,10 +18,14 @@ When creating a new game, Stride prompts you to select the platforms which you w ![](media/select-platforms.webp) -4. Reload the assemblies by clicking the **Reload game assemblies** button in the toolbar. + Stride will then delete [platform packages](../files-and-folders/project-packages/index.md#platform-packages) for removed platforms and create new ones for the platforms that were added. + +4. Reload the assemblies by clicking the **reload game assemblies** button in the toolbar. ![](media/reload-assemblies.webp) ## See also * [Platforms](index.md) +* [Project packages](../files-and-folders/project-packages/index.md) +* [Project file structure](../files-and-folders/project-structure.md) diff --git a/en/manual/platforms/android/index.md b/en/manual/platforms/android/index.md index 7103528b2..c99c53b0b 100644 --- a/en/manual/platforms/android/index.md +++ b/en/manual/platforms/android/index.md @@ -1,6 +1,6 @@ # Android -**Android** is a mobile operating system developed by [Google](https://about.google/) used in most smarthphones and tablets. +**Android** is a mobile operating system developed by [Google](https://about.google/) used by most smarthphones and tablets. ## General support diff --git a/en/manual/platforms/index.md b/en/manual/platforms/index.md index 8a076bf75..0663b0863 100644 --- a/en/manual/platforms/index.md +++ b/en/manual/platforms/index.md @@ -23,7 +23,7 @@ Stride is a cross-platform engine, which means that you can create a single game ## Platform specific code -Each platform has it's own [project package](../files-and-folders/project-packages/index.md) that contains the [entry point](../files-and-folders/project-packages/index.md#entry-point) and other exclusive code for that platform. +Each platform has it's own [project package](../files-and-folders/project-packages/index.md) that contains the [entry point](../files-and-folders/project-packages/index.md#entry-point) and other code exclusive for that platform. Alternatively, you can also check the current platform using [Platform.Type](xref:Stride.Core.Platform.Type). diff --git a/en/manual/platforms/ios/index.md b/en/manual/platforms/ios/index.md index 4bbe871dd..771f9b7f4 100644 --- a/en/manual/platforms/ios/index.md +++ b/en/manual/platforms/ios/index.md @@ -1,12 +1,12 @@ # iOS -**iOS** is an operating system used on mobile devices made by [Apple](https://apple.com). +**iOS** is an operating system used by mobile devices made by [Apple](https://apple.com). ## General support -All of Stride's core features should work on iOS. However, you might run into issues when using certain systems (such as video). +All of Stride's core features **should** work on iOS. However, you might run into issues when using certain systems (such as video). -Stride supports building for iOS, but it hasn't been tested in a while. There might be problems that may not be easily solvable without modifications to the engine. +Stride supports building for iOS, but **it hasn't been tested in a while**. There might be problems that may not be easily solvable without modifications to the engine. > [!NOTE] > All iOS applications (including games made with Stride) **can only be built on devices running [MacOS](../macos/index.md)**. diff --git a/en/manual/platforms/linux/setup-and-requirements.md b/en/manual/platforms/linux/setup-and-requirements.md index f1afaebac..d58dc0531 100644 --- a/en/manual/platforms/linux/setup-and-requirements.md +++ b/en/manual/platforms/linux/setup-and-requirements.md @@ -1,10 +1,10 @@ # Setup and requirements -This page describes how to setup your computer in order to develop and play Stride games. +This page describes how to setup your Linux machine in order to develop and play Stride games. ## Setup -In order to run games made for Linux, you'll need a Linux PC with a graphics card that supports Vulkan along with the following packages: +In order to run games made for Linux, you'll need a Linux PC with a graphics card that supports Vulkan, along with the following packages: * [FreeType](#freetype) * [OpenAL](#openal) @@ -101,14 +101,16 @@ sudo dnf install freeimage-devel ### [Arch](#tab/arch) -Freeimage isn't available in Arch's package manager, but it can be manually compiled from source code. +Freeimage isn't available in Arch's package manager, but it can be manually compiled from source code. You can get the source code from [the freeimage website](https://freeimage.sourceforge.io/download.html) (download the source distribution). -You can get the source code from [the freeimage website](https://freeimage.sourceforge.io/download.html) (download the source distribution). - -Alternatively, you can use a tool, such as `yay` to obtain the package from the AUR. +Alternatively, you can use a tool such as `yay` to obtain the package from the AUR. ```bash yay -S freeimage ``` --- + +## See also + +* [Building the game](../../files-and-folders/building-the-game/index.md) diff --git a/en/manual/platforms/macos/index.md b/en/manual/platforms/macos/index.md index 2c396334c..8d661172a 100644 --- a/en/manual/platforms/macos/index.md +++ b/en/manual/platforms/macos/index.md @@ -1,6 +1,6 @@ # MacOS -**MacOS** is a desktop operating system used on [Apple](https://apple.com) devices. +**MacOS** is a desktop operating system used by [Apple](https://apple.com) devices. ## Development support @@ -14,6 +14,6 @@ Alternatively, it is possible to create Stride games on MacOS using a **code-onl ## General support -All of Stride's core features should work on MacOS. However, you might run into issues when using certain systems (such as video). +All of Stride's core features **should** work on MacOS. However, you might run into issues when using certain systems (such as video). -Stride supports building for MacOS, but it hasn't been tested in a while. There might be problems that may not be easily solvable without modifications to the engine. +Stride supports building for MacOS, but **it hasn't been tested in a while**. There might be problems that may not be easily solvable without modifications to the engine. diff --git a/en/manual/platforms/uwp/index.md b/en/manual/platforms/uwp/index.md index 41b9a76b8..8b8e27766 100644 --- a/en/manual/platforms/uwp/index.md +++ b/en/manual/platforms/uwp/index.md @@ -3,7 +3,7 @@ > [!WARNING] > **UWP is no longer being developed**. We recommend building the game for [Windows](../windows/index.md) instead. -Universal Windows Platform (UWP) provides a common app platform available on every device that runs Windows. For more information about UWP, see [Intro to the Universal Windows Platform](https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide). +Universal Windows Platform (UWP) provides a common app platform available on every device that runs Windows. For more information, see [Intro to the Universal Windows Platform](https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide). In October 2021 it was announced that UWP will stop receivng new features. Stride's support only exists for compatibility reasons. diff --git a/en/manual/platforms/windows/index.md b/en/manual/platforms/windows/index.md index 8cea6b1ea..71f273325 100644 --- a/en/manual/platforms/windows/index.md +++ b/en/manual/platforms/windows/index.md @@ -9,3 +9,7 @@ Stride fully supports developing games on Windows. All tools are available for i ## General support All of Stride's features are fully supported on Windows. + +## See also + +* [Game Studio](../../game-studio/index.md) From f5204ced3563bf0dac20db69ccfa3d6ce1c53019 Mon Sep 17 00:00:00 2001 From: Ferafiks Date: Sun, 24 May 2026 08:03:25 +0200 Subject: [PATCH 11/15] Updated information to reflect the recent PRs --- en/manual/platforms/android/index.md | 2 +- en/manual/platforms/ios/index.md | 2 +- en/manual/platforms/linux/index.md | 8 +++++--- en/manual/platforms/macos/index.md | 4 +--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/en/manual/platforms/android/index.md b/en/manual/platforms/android/index.md index c99c53b0b..00823be02 100644 --- a/en/manual/platforms/android/index.md +++ b/en/manual/platforms/android/index.md @@ -4,4 +4,4 @@ ## General support -All of Stride's core features work on Android. However, you might run into issues when using certain systems. +All of Stride's core features **should** work on Android. diff --git a/en/manual/platforms/ios/index.md b/en/manual/platforms/ios/index.md index 771f9b7f4..1087d8206 100644 --- a/en/manual/platforms/ios/index.md +++ b/en/manual/platforms/ios/index.md @@ -4,7 +4,7 @@ ## General support -All of Stride's core features **should** work on iOS. However, you might run into issues when using certain systems (such as video). +All of Stride's core features **should** work on iOS. Stride supports building for iOS, but **it hasn't been tested in a while**. There might be problems that may not be easily solvable without modifications to the engine. diff --git a/en/manual/platforms/linux/index.md b/en/manual/platforms/linux/index.md index 0f203a6cc..4c2a47f40 100644 --- a/en/manual/platforms/linux/index.md +++ b/en/manual/platforms/linux/index.md @@ -16,11 +16,13 @@ Alternatively, it is possible to create Stride games on Linux using a **code-onl ## General support -All of Stride's core features work on Linux. However, you might run into issues when using certain systems (such as video). +All of Stride's features are fully supported on Linux. -## Wayland support +## Wayland -Currently, games made with Stride can only run using Xorg. +Wayland is a communication protocol for communication between a display server and it's applications, that has gained popularity among many Linux desktop environments. Many apps however are still yet to adopt it, relying on the outdated X windowing system. They work with wayland compositors thanks to a compatibility layer "xWayland", but can't utilize modern wayland features (such as fractional scalling). + +Currently, games made with Stride can only run using the X windowing system. ## In this section diff --git a/en/manual/platforms/macos/index.md b/en/manual/platforms/macos/index.md index 8d661172a..6126f2fcf 100644 --- a/en/manual/platforms/macos/index.md +++ b/en/manual/platforms/macos/index.md @@ -14,6 +14,4 @@ Alternatively, it is possible to create Stride games on MacOS using a **code-onl ## General support -All of Stride's core features **should** work on MacOS. However, you might run into issues when using certain systems (such as video). - -Stride supports building for MacOS, but **it hasn't been tested in a while**. There might be problems that may not be easily solvable without modifications to the engine. +All of Stride's features are fully supported on MacOS. Games can only be built for the arm architecture, that's used on newer apple devices. From d92b5dd76ea58a998bf60062a06eb5b184c23ff1 Mon Sep 17 00:00:00 2001 From: Ferafiks Date: Sun, 24 May 2026 08:48:06 +0200 Subject: [PATCH 12/15] Updated linux requirements --- en/manual/platforms/index.md | 2 +- .../platforms/linux/setup-and-requirements.md | 33 ------------------- 2 files changed, 1 insertion(+), 34 deletions(-) diff --git a/en/manual/platforms/index.md b/en/manual/platforms/index.md index 0663b0863..e277af607 100644 --- a/en/manual/platforms/index.md +++ b/en/manual/platforms/index.md @@ -17,7 +17,7 @@ Stride is a cross-platform engine, which means that you can create a single game * [Windows](windows/index.md) 10, 11 * [Linux](linux/index.md) -* [MacOS](macos/index.md) (untested) +* [MacOS](macos/index.md) * [Android](android/index.md) * [iOS](ios/index.md) (untested) diff --git a/en/manual/platforms/linux/setup-and-requirements.md b/en/manual/platforms/linux/setup-and-requirements.md index d58dc0531..e1b0c6404 100644 --- a/en/manual/platforms/linux/setup-and-requirements.md +++ b/en/manual/platforms/linux/setup-and-requirements.md @@ -9,7 +9,6 @@ In order to run games made for Linux, you'll need a Linux PC with a graphics car * [FreeType](#freetype) * [OpenAL](#openal) * [SDL2](#sdl2) -* [FreeImage](#freeimage) ## FreeType @@ -33,8 +32,6 @@ sudo dnf install freetype-devel sudo pacman -S freetype2 ``` ---- - ## OpenAL To play sounds and music, we use the [OpenAL](https://www.openal.org/) library. It can be installed with your distribution's package manager: @@ -57,8 +54,6 @@ sudo dnf install openal-soft-devel sudo pacman -S openal ``` ---- - ## SDL2 To run games on Linux, we use the [SDL2](https://www.libsdl.org/) library which provides the ability to create windows, handle mouse, keyboard and joystick events. The minimum required version is 2.0.4 and can be installed with your distribution's package manager: @@ -83,34 +78,6 @@ sudo pacman -S sdl2 --- -## FreeImage - -[FreeImage](https://freeimage.sourceforge.io/) is battle-tested library for loading and saving popular image file formats like BMP, PNG, JPEG etc. The minimum required version is 3.18 and can be installed with your distribution's package manager: - -### [Debian / Ubuntu](#tab/ubuntu) - -```bash -sudo apt install libfreeimage-dev -``` - -### [Fedora](#tab/fedora) - -```bash -sudo dnf install freeimage-devel -``` - -### [Arch](#tab/arch) - -Freeimage isn't available in Arch's package manager, but it can be manually compiled from source code. You can get the source code from [the freeimage website](https://freeimage.sourceforge.io/download.html) (download the source distribution). - -Alternatively, you can use a tool such as `yay` to obtain the package from the AUR. - -```bash -yay -S freeimage -``` - ---- - ## See also * [Building the game](../../files-and-folders/building-the-game/index.md) From b4fcc829f41809b326dbb0df21d4273c6ab19950 Mon Sep 17 00:00:00 2001 From: Ferafiks Date: Wed, 27 May 2026 12:42:07 +0200 Subject: [PATCH 13/15] Fixed errors --- en/manual/files-and-folders/building-the-game/distributing.md | 1 - en/manual/platforms/linux/setup-and-requirements.md | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/en/manual/files-and-folders/building-the-game/distributing.md b/en/manual/files-and-folders/building-the-game/distributing.md index bc4b96574..e8bf157e0 100644 --- a/en/manual/files-and-folders/building-the-game/distributing.md +++ b/en/manual/files-and-folders/building-the-game/distributing.md @@ -20,7 +20,6 @@ In order to run, Stride games require a user to have the following installed: * FreeType (for installation instructions, visit the [Linux page](../../platforms/linux/setup-and-requirements.md#freetype)) * OpenAL (for installation instructions, visit the [Linux page](../../platforms/linux/setup-and-requirements.md#openal)) * SDL2 (for installation instructions, visit the [Linux page](../../platforms/linux/setup-and-requirements.md#sdl2)) -* FreeImage (for installation instructions, visit the [Linux page](../../platforms/linux/setup-and-requirements.md#freeimage)) * Vulkan or OpenGL (depending on the graphics API used by your game) > [!NOTE] diff --git a/en/manual/platforms/linux/setup-and-requirements.md b/en/manual/platforms/linux/setup-and-requirements.md index e1b0c6404..36f89aa98 100644 --- a/en/manual/platforms/linux/setup-and-requirements.md +++ b/en/manual/platforms/linux/setup-and-requirements.md @@ -32,6 +32,8 @@ sudo dnf install freetype-devel sudo pacman -S freetype2 ``` +--- + ## OpenAL To play sounds and music, we use the [OpenAL](https://www.openal.org/) library. It can be installed with your distribution's package manager: @@ -54,6 +56,8 @@ sudo dnf install openal-soft-devel sudo pacman -S openal ``` +--- + ## SDL2 To run games on Linux, we use the [SDL2](https://www.libsdl.org/) library which provides the ability to create windows, handle mouse, keyboard and joystick events. The minimum required version is 2.0.4 and can be installed with your distribution's package manager: From 7d579c60d770d6f4ed9d5757066e7871f0bc67f5 Mon Sep 17 00:00:00 2001 From: Ferafiks Date: Wed, 27 May 2026 14:33:46 +0200 Subject: [PATCH 14/15] Linked code-only to community toolkit documentation --- en/manual/platforms/index.md | 4 ++-- en/manual/platforms/linux/index.md | 2 +- en/manual/platforms/macos/index.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/en/manual/platforms/index.md b/en/manual/platforms/index.md index e277af607..0134662d5 100644 --- a/en/manual/platforms/index.md +++ b/en/manual/platforms/index.md @@ -7,8 +7,8 @@ Stride is a cross-platform engine, which means that you can create a single game ## Supported development platforms * [Windows](windows/index.md) 10, 11 -* [Linux](linux/index.md) (code-only) -* [MacOS](macos/index.md) (code-only) +* [Linux](linux/index.md) (with [code-only](https://stride3d.github.io/stride-community-toolkit/manual/code-only/index.html)) +* [MacOS](macos/index.md) (with [code-only](https://stride3d.github.io/stride-community-toolkit/manual/code-only/index.html)) > [!NOTE] > **Game Studio** is being rewritten to be cross-platform. Currently however, it's not possible to use it outside of **Windows**. diff --git a/en/manual/platforms/linux/index.md b/en/manual/platforms/linux/index.md index 4c2a47f40..2ace15c4d 100644 --- a/en/manual/platforms/linux/index.md +++ b/en/manual/platforms/linux/index.md @@ -12,7 +12,7 @@ However, it is still possible to code and build games natively, meaning that whe [!INCLUDE [xplat-editor-notice](../../../includes/xplat-editor-notice.md)] -Alternatively, it is possible to create Stride games on Linux using a **code-only** approach, removing the need for an editor all together. +Alternatively, it is possible to create Stride games on Linux using a [code-only](https://stride3d.github.io/stride-community-toolkit/manual/code-only/index.html) approach, removing the need for an editor all together. ## General support diff --git a/en/manual/platforms/macos/index.md b/en/manual/platforms/macos/index.md index 6126f2fcf..1ea2c3479 100644 --- a/en/manual/platforms/macos/index.md +++ b/en/manual/platforms/macos/index.md @@ -10,7 +10,7 @@ However, it is possible to code and build games natively, meaning that when in a [!INCLUDE [xplat-editor-notice](../../../includes/xplat-editor-notice.md)] -Alternatively, it is possible to create Stride games on MacOS using a **code-only** approach, removing the need for an editor all together. +Alternatively, it is possible to create Stride games on MacOS using a [code-only](https://stride3d.github.io/stride-community-toolkit/manual/code-only/index.html) approach, removing the need for an editor all together. ## General support From 8bea4bea5edea6b3ae50f3096e3278312cb1a94c Mon Sep 17 00:00:00 2001 From: Ferafiks Date: Wed, 27 May 2026 18:27:11 +0200 Subject: [PATCH 15/15] Updated supported development platforms --- en/manual/platforms/index.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/en/manual/platforms/index.md b/en/manual/platforms/index.md index 0134662d5..8a156244c 100644 --- a/en/manual/platforms/index.md +++ b/en/manual/platforms/index.md @@ -6,12 +6,14 @@ Stride is a cross-platform engine, which means that you can create a single game ## Supported development platforms -* [Windows](windows/index.md) 10, 11 -* [Linux](linux/index.md) (with [code-only](https://stride3d.github.io/stride-community-toolkit/manual/code-only/index.html)) -* [MacOS](macos/index.md) (with [code-only](https://stride3d.github.io/stride-community-toolkit/manual/code-only/index.html)) +| Name | Overall status | Editor | Building (without the editor) | [Code-only](https://stride3d.github.io/stride-community-toolkit/manual/code-only/index.html) | +| :-- | :-- | :-: | :-: | :-: | +| [Windows](windows/index.md) 10, 11 | Full support | 🟩 | 🟩 | 🟩 | +| [Linux](linux/index.md) | Partial support, read more [here](linux/index.md#development-support) | 🟥 | 🟩 | 🟩 | +| [MacOS](macos/index.md) | Partial support, read more [here](macos/index.md#development-support) | 🟥 | 🟩 | 🟩 | > [!NOTE] -> **Game Studio** is being rewritten to be cross-platform. Currently however, it's not possible to use it outside of **Windows**. +> **Game Studio** (the editor) is being rewritten to be cross-platform. Currently however, it's not possible to use it outside of **Windows**. ## Supported target platforms @@ -19,13 +21,13 @@ Stride is a cross-platform engine, which means that you can create a single game * [Linux](linux/index.md) * [MacOS](macos/index.md) * [Android](android/index.md) -* [iOS](ios/index.md) (untested) +* ⚠️ [iOS](ios/index.md) (untested) ## Platform specific code Each platform has it's own [project package](../files-and-folders/project-packages/index.md) that contains the [entry point](../files-and-folders/project-packages/index.md#entry-point) and other code exclusive for that platform. -Alternatively, you can also check the current platform using [Platform.Type](xref:Stride.Core.Platform.Type). +Alternatively, you can check the current platform using [Platform.Type](xref:Stride.Core.Platform.Type). ```csharp if (Platform.Type == PlatformType.Android)