Skip to content

Commit 102bc71

Browse files
committed
Update platforms support docs
1 parent 98e943d commit 102bc71

File tree

11 files changed

+45
-81
lines changed

11 files changed

+45
-81
lines changed

manual/editor/flax-build/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ Additionally, all build scripts are included in **BuildScripts** C# project whic
9999

100100
## Platforms Support
101101

102-
Flax.Build is a **multiplatform** utility that has been battle-tested on Windows and Linux to build engine and games to the different target platforms including Windows, PS4, PS5, Xbox One, Xbox Scarlett, Android, Switch, Linux, macOS, UWP. Each target platform implementation is stored in a separate directory under `Source\Tools\Flax.Build\Platforms` and contain **Platform** implementation and **Toolchain** implementation. Different platforms can use external SDKs, toolsets, or custom compilers to build code for a runtime.
102+
Flax.Build is a **multiplatform** utility that has been battle-tested on Windows and Linux to build engine and games to the different target platforms including Windows, PS4, PS5, Xbox One, Xbox Scarlett, Android, Switch, Linux, macOS, iOS. Each target platform implementation is stored in a separate directory under `Source\Tools\Flax.Build\Platforms` and contain **Platform** implementation and **Toolchain** implementation. Different platforms can use external SDKs, toolsets, or custom compilers to build code for a runtime.
103103

104104
Also, engine dependency packages contain automatic build scripts to prepare pre-build deps for development. When adding new platform support many deps packages have to be ported too. The related code can be found in `Source\Tools\Flax.Build\Deps\Dependencies` folder.
105105

manual/editor/game-settings/index.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,12 @@ You can use the *Content* window to create new settings. Simply right-click in t
4343
| **Streaming** | Reference to [Streaming Settings](streaming-settings.md) asset. Contains resources streaming configuration such as Texture Groups options. |
4444
| **Custom Settings** | Collection of custom json assets used by the game and plugins. To learn more see the related documentation [here](custom-settings.md). |
4545
| **Windows** | Reference to [Windows Settings](../../platforms/windows.md) asset. Contains options used when building game for Windows. |
46-
| **Universal Windows Platform** | Reference to [Universal Windows Platform Settings](../../platforms/uwp.md) asset. Contains options used when building game for Xbox One and Windows Store. |
4746
| **PlayStation 4** | Reference to [PlayStation 4 Settings](../../platforms/ps4.md) settings. Contains options used when building game for PlayStation 4. |
4847
| **PlayStation 5** | Reference to [PlayStation 5 Settings](../../platforms/ps5.md) settings. Contains options used when building game for PlayStation 5. |
4948
| **Xbox Scarlett** | Reference to [Xbox Scarlett Settings](../../platforms/xbox-scarlett.md) settings. Contains options used when building game for Xbox Scarlett. |
5049
| **Switch** | Reference to [Switch Settings](../../platforms/switch.md) settings. Contains options used when building game for Switch. |
50+
| **macOS** | Reference to [macOS](../../platforms/mac.md) asset. Contains options used when building game for macOS. |
51+
| **iOS** | Reference to [iOS](../../platforms/ios.md) asset. Contains options used when building game for iOS. |
5152

5253
## Accessing settings at runtime
5354

manual/platforms/android.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Follow these steps to setup your development PC for building game for Android pl
1515
* Set `ANDROID_HOME` env var to SDK location (typically `C:\Users\USERNAME\AppData\Local\Android\android-studio\sdk` on Windows)
1616
* Install **NDK**
1717
* via Android SDK Manager: *Android SDK -> SDK Tools -> NDK (side by side)*
18-
* or manually via [https://developer.android.com/ndk/downloads/index.html](https://developer.android.com/ndk/downloads/index.html) and set `ANDROID_NDK` env var to install location)
18+
* or manually via [https://developer.android.com/ndk/downloads/index.html](https://developer.android.com/ndk/downloads/index.html) and set `ANDROID_NDK` env var to install location
1919
* Install **Java**
2020
* use in-built from Android Studio: set `JAVA_HOME` env var to `<android-studio>\jbr`
2121
* or download manually from [https://jdk.java.net/19](https://jdk.java.net/19) and set env var `JAVA_HOME` to jdk root folder

manual/platforms/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ This section covers the specific information for different aspects of each platf
88

99
## Supported platforms
1010

11-
* [Windows Desktop 7, 8, 10](windows.md)
12-
* [Universal Windows (UWP)](uwp.md)
11+
* [Windows Desktop 7, 8, 10, 11](windows.md)
1312
* [Xbox One](xbox-one.md)
1413
* [Xbox Scarlett](xbox-scarlett.md)
1514
* [PlayStation 4](ps4.md)
@@ -18,6 +17,7 @@ This section covers the specific information for different aspects of each platf
1817
* [Android](android.md)
1918
* [Switch](switch.md)
2019
* [macOS](mac.md)
20+
* [iOS](ios.md)
2121

2222
> [!TIP]
2323
> To check on which platform game is running use [Platform.Platform](https://docs.flaxengine.com/api/FlaxEngine.Platform.html#FlaxEngine_Application_Platform). You can also use [preprocessor variables](../scripting/preprocessor.md) in your code.

manual/platforms/ios.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# iOS
2+
3+
## Technical information
4+
5+
Flax supports **iOS 14 or newer**. For graphics rendering Vulkan is used via MoltenVK to run on Metal.
6+
7+
## iOS Setup
8+
9+
Follow these steps to setup your development PC for building game for iOS platform. In case of problems, please follow official documentation of iOS platform.
10+
11+
* Install **XCode**
12+
* Install **.Net iOS Workload**
13+
* Run `dotnet workload install ios` via command line
14+
* More info: [https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-workload-install](https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-workload-install)
15+
16+
### Troubleshooting
17+
18+
* If you're getting the error `Missing NET SDK runtime for iOS ARM64.` then install iOS workload for dotnet (as mentioned above). It contains .Net libs, tools and runtime for iOS required to run C#.
19+
20+
## Build options
21+
22+
| Property | Description |
23+
|--------|--------|
24+
| **Output** | The built game output folder (relative to the project). |
25+
| **Show Output** | If checked, after building the output folder will be shown in an Explorer. |
26+
| **Configuration Mode** | Game building mode. Possible options: <table><tbody><tr><th>Option</th><th>Description</th></tr><tr><td>**Release**</td><td>The release build ready for shipment.</td></tr><tr><td>**Debug**</td><td>The debug build for testing and profiling. Most of the code optimizations are disabled for the best debugging experience.</td></tr><tr><td>**Development**</td><td>The development build for testing and profiling but is more optimized for runtime than Debug build.</td></tr></tbody></table>|
27+
28+
## Platform settings
29+
30+
| Property | Description |
31+
|--------|--------|
32+
| **App Identifier** | The app identifier (reversed DNS, eg. com.company.product). Custom tokens: `${PROJECT_NAME}`, `${COMPANY_NAME}`. |
33+
| **Override Icon** | Custom icon texture to use for the application (overrides the default one). |

manual/platforms/mac.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Flax supports **macOS 10.14 or newer**. For graphics rendering Vulkan is used vi
1111
| **Output** | The built game output folder (relative to the project). |
1212
| **Show Output** | If checked, after building the output folder will be shown in an Explorer. |
1313
| **Configuration Mode** | Game building mode. Possible options: <table><tbody><tr><th>Option</th><th>Description</th></tr><tr><td>**Release**</td><td>The release build ready for shipment.</td></tr><tr><td>**Debug**</td><td>The debug build for testing and profiling. Most of the code optimizations are disabled for the best debugging experience.</td></tr><tr><td>**Development**</td><td>The development build for testing and profiling but is more optimized for runtime than Debug build.</td></tr></tbody></table>|
14+
| **CPU** | Target processor architecture (Intel or Apple Silicon). |
1415

1516
## Platform settings
1617

manual/platforms/uwp.md

Lines changed: 0 additions & 28 deletions
This file was deleted.

manual/platforms/xbox-one.md

Lines changed: 2 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -2,47 +2,5 @@
22

33
![Title](media/Post_XboxOneSupport1.jpg)
44

5-
## Technical information
6-
7-
Flax is compiled for Xbox One (via UWP) using Microsoft Visual C++ compiler. It uses **v141** (VC\+\+ 2017) toolset and **Windows 10 SDK** with Multi-threaded DLL runtime. All dependent libraries are used via static linking by the Flax Engine binary.
8-
9-
## Build options
10-
11-
![Build Options](media/build-xbox-one.jpg)
12-
13-
| Property | Description |
14-
|--------|--------|
15-
| **Output** | The built game output folder (relative to the project). |
16-
| **Show Output** | If checked, after building the output folder will be shown in an Explorer. |
17-
| **Configuration Mode** | Game building mode. Possible options: <table><tbody><tr><th>Option</th><th>Description</th></tr><tr><td>**Release**</td><td>The release build ready for shipment.</td></tr><tr><td>**Debug**</td><td>The debug build for testing and profiling. Most of the code optimizations are disabled for the best debugging experience.</td></tr><tr><td>**Development**</td><td>The development build for testing and profiling but is more optimized for runtime than Debug build.</td></tr></tbody></table>|
18-
19-
## Platform settings
20-
21-
![Settings](media/settings-uwp.jpg)
22-
23-
| Property | Description |
24-
|--------|--------|
25-
| **Preferred Launch Windowing Mode** | *Not used on Xbox One. Always fullscreen mode.* |
26-
| **Auto Rotation Preferences** | *Not used on Xbox One. No screen rotation.* |
27-
| **Certificate Location** | The location of the package certificate (relative to the project). |
28-
29-
## Deployment
30-
31-
Building you game to support Xbox One platform is rather straighforward process hovewer you will need to have an acess to Xbox One or Xbox One S device that has Developer Mode activated. Follow these steps to build your game for Xbox One:
32-
33-
- Prepare you game to support Xbox One (remove or fix platform dependant code and verify gamepad support)
34-
- Prepare you Xbox Developer account and Xbox Dev Kit
35-
- Learn about Xbox One development by following the official Microsoft guidelines and documentation [here](https://docs.microsoft.com/en-us/windows/uwp/xbox-apps/getting-started)
36-
- Ensure to have the newest **Windows 10 SDK** installed
37-
- Open *Game Cooker*, and start **Build**
38-
- Application certificate generator window will popup, Flax uses Windows SDK toolset to generate a temporary certificates that you can use for your app. Every store app needs to have a valid own certificate for code signing required by Microsoft policy
39-
- Enter your game certificate password (note: you can use a custom certificate if you need, just specify its location in build settings)
40-
- Wait for game cooking end (please note that Xbox One does not support runtime code generation so Flax needs to perform AOT on all C# assemblies including your game code)
41-
- Open generated UWP project solution located in the build output directory
42-
- Ensure to use `Debug` configuration mode (`Release` mode is not supported now due to dynamic libraries merging by the toolchain not maintained by Flax)
43-
- Build solution (optionally perform Rebuild)
44-
- Pick Xbox One device for remote deploy (connect your PC to the same network as Xbox One, eg. via WiFi). Follow Microsoft guidelines and documentation in this area.
45-
- Press **Remote Machine** to start the app on device
46-
47-
After editing project content or source code, the amount of data to rebuild is relatively slow so your iteration times should be fairly good if you are porting your game to support Xbox One. Remember to follow Microsoft guidelines and documentation.
48-
5+
Xbox One platform support documentation is located in NDA-restricted folder in Flax source repository.
6+
If you want to develop your game on Xbox One please [contact](https://flaxengine.com/contact/) (avaliable only for developers approved by Microsoft with access to GDK).

manual/release-notes/1_6/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ C# scripting runtime and tools have been updated to use the latest .NET 7 SDK on
2626
* Mobile and Consoles use new [mono](https://github.com/dotnet/runtime/tree/main/src/mono) with Mono AOT but with the latest class library (feature compatible with CoreCLR)
2727
* Visual Studio 2019 (and older) are unsupported by .NET 7 SDK (still can be used for programming but with less tooling)
2828
* [Flax.VS](https://marketplace.visualstudio.com/items?itemName=Flax.FlaxVS) extension is not required anymore for C# debugging in Visual Studio - VS 2022 has inbuilt .NET 7 debugger
29+
* Android platform requires Android .NET Workload installation via `dotnet workload install android`
2930
* Old Mono runtime hosting code is still available in Flax codebase but is disabled and will be removed in future
3031

3132
We've updated docs, code examples, and all official plugins to reflect those changes.

manual/scripting/preprocessor.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,10 @@ public override void OnStart()
2020
| **FLAX** | Always defined. Can be used to detect code compiled for Flax environment. |
2121
| **FLAX_EDITOR** | Compile for editor (play in-edior). |
2222
| **PLATFORM_WINDOWS** | Compile for Windows. |
23-
| **PLATFORM_UWP** | Compile for Universal Windows Platform (UWP). |
2423
| **PLATFORM_XBOX_ONE** | Compile for Xbox One. |
2524
| **PLATFORM_XBOX_SCARLETT** | Compile for Xbox Scarlett. |
2625
| **PLATFORM_PS4** | Compile for PlayStation 4. |
27-
| **PLATFORM_PS5** | Compile for PlayStation 4. |
26+
| **PLATFORM_PS5** | Compile for PlayStation 5. |
2827
| **PLATFORM_LINUX** | Compile for Linux. |
2928
| **PLATFORM_ANDROID** | Compile for Android. |
3029
| **PLATFORM_SWITCH** | Compile for Switch. |
@@ -40,4 +39,3 @@ public override void OnStart()
4039
| **USE_AOT** | Defined when compiling C# with [AOT mode](restrictions.md) enabled. |
4140

4241
To specify custom compilation macros see [Game Cooker](../editor/flax-build/index.md) documentation.
43-

manual/toc.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,6 @@
407407

408408
# [Platforms](platforms/index.md)
409409
## [Windows](platforms/windows.md)
410-
## [UWP](platforms/uwp.md)
411410
## [Xbox One](platforms/xbox-one.md)
412411
## [Xbox Scarlett](platforms/xbox-scarlett.md)
413412
## [PlayStation 4](platforms/ps4.md)
@@ -416,6 +415,7 @@
416415
## [Android](platforms/android.md)
417416
## [Switch](platforms/switch.md)
418417
## [macOS](platforms/mac.md)
418+
## [iOS](platforms/ios.md)
419419

420420
# [Contributing](contributing/index.md)
421421
## [Feature Requests](contributing/feature-requests.md)

0 commit comments

Comments
 (0)