From 9857a3f5bd1c80a3af01b4527e31e22c062a3717 Mon Sep 17 00:00:00 2001 From: Infiland Date: Tue, 1 Sep 2026 17:03:22 +0200 Subject: [PATCH] Document macOS library validation entitlement --- docs/guides.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/docs/guides.md b/docs/guides.md index 5d2b1583..ff247d9c 100644 --- a/docs/guides.md +++ b/docs/guides.md @@ -34,6 +34,19 @@ To use the Steam API extension you should follow these steps: - 1: Show errors and warnings (recommended) - 2: Show everything (use before submitting a bug) +## Signed macOS Builds + +When a macOS build uses the Hardened Runtime, `SteamAPI_Init` can fail because library validation rejects Valve's `steamclient.dylib`, which is signed with a different Team ID from your game. In this case, `steam_initialised()` remains `false` and Steam features are unavailable even though the application builds successfully. + +For the game target in Xcode, open **Signing & Capabilities** > **Hardened Runtime** and enable **Disable Library Validation**. This adds the following entitlement to the signed application: + +```xml +com.apple.security.cs.disable-library-validation + +``` + +See Apple's documentation for the [`com.apple.security.cs.disable-library-validation`](https://developer.apple.com/documentation/BundleResources/Entitlements/com.apple.security.cs.disable-library-validation) entitlement and the [Steamworks macOS documentation](https://partner.steamgames.com/doc/store/application/platforms) for additional platform requirements. + # Migration Changes During the migration of the Steamworks function library from the base GameMaker runner into this extension, there were some new functions that were added, and others that were slightly changed. This document covers the changes that happened during that migration. @@ -60,4 +73,4 @@ To use the Steam API extension you should follow these steps:

---- \ No newline at end of file +---