diff --git a/en/manual/graphics/graphics-api.md b/en/manual/graphics/graphics-api.md
index 4c5506d02..5dc710ddf 100644
--- a/en/manual/graphics/graphics-api.md
+++ b/en/manual/graphics/graphics-api.md
@@ -1,25 +1,85 @@
# Graphics API
-To run your projects through a different API than the default one, add the following line to the `PropertyGroup` of your executable's `.csproj` file:
-`Vulkan`
+Intermediate
-
+**Graphics APIs** are responsible for performing basic rendering operations. They differ in platform availability and have their own benefits and drawbacks.
-Supported values are as follows:
+## Supported graphics APIs
+
+Stride has support for the following APIs:
+
+### Direct3D11
+
+**Available on platforms:** Windows
+
+Direct3D is a graphics API developed by Microsoft. Stride's implementation for version 11 is the most mature, which is why it's used as the default on Windows.
+
+### Direct3D12
+
+**Available on platforms:** Windows
+
+Version 12 of Direct3D is the newest release of the API. Currently, Stride's implementation for it isn't as stable as the one for 11, which is why it isn't used by default.
+
+### Vulkan
+
+**Available on platforms:** Windows, Linux, MacOS, Android, iOS
+
+Vulkan is a modern graphics API that provides great performance benefits and control over how rendering is performed. It's used as the default on non-Windows platforms.
+
+## Changing the graphics API
+
+To change the graphics API used by your project, add the following line to the `PropertyGroup` of a [platform package's](../files-and-folders/project-packages/index.md#platform-packages) `.csproj` file:
+
+```xml
+NameOfGraphicsAPIHere
```
-Null
-Direct3D11
-Direct3D12
-OpenGL
-OpenGLES
-Vulkan
+
+
+
+Stride supports the following values:
+
+* Direct3D11
+* Direct3D12
+* Vulkan
+* Null
+
+## Checking the API at runtime
+
+You can check which API your project is using from [`GraphicsDevice.Platform`](xref:Stride.Graphics.GraphicsDevice.Platform).
+
+```csharp
+public override void Update()
+{
+ DebugText.Print($"Graphics API: {GraphicsDevice.Platform}", new(50, 50));
+}
+```
+
+## Building the engine with a different API
+
+When building the engine from source code, it will be built with support only for the default API for your OS. You can change that by setting `StrideGraphicsApiDependentBuildAll` to `true` in build parameters.
+
+```bash
+msbuild -p:StrideGraphicsApiDependentBuildAll=true ./build/Stride.sln
```
-You *may* also have to add `` to your *main* `.csproj`, and don't forget to replace `Version` appropriately.
+To only build selected api's, set the `StrideGraphicsApis` property to your desired value.
+
+### [Powershell](#tab/powershell)
+
+```powershell
+msbuild -p:StrideGraphicsApis=`"Api1`;Api2`" ./build/Stride.sln
+```
+
+### [Bash](#tab/bash)
+
+```bash
+msbuild -p:StrideGraphicsApis=\"Api1\;Api2\" ./build/Stride.sln
+```
-
+---
-## Engine
-If you are using a local build of the engine you should run the build again with the following command:
+## See also
-`msbuild /t:Build /p:StrideGraphicsApiDependentBuildAll=true Stride.sln`
+* [Platforms](../platforms/index.md)
+* [Project structure](../files-and-folders/project-structure.md)
+* [Project packages](../files-and-folders/project-packages/index.md)
diff --git a/en/manual/graphics/media/graphics-api-xml-property.webp b/en/manual/graphics/media/graphics-api-xml-property.webp
new file mode 100644
index 000000000..45323e7a2
--- /dev/null
+++ b/en/manual/graphics/media/graphics-api-xml-property.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3723c94b83e2e8ca2fb6e764216a85c2fa34477fb5bbfe569b6ea82ddf31ae37
+size 63450