diff --git a/docs/guides.md b/docs/guides.md index 5d2b158..ff247d9 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 +---