Has anyone been able to get Online Subsystem Steam to work on a mac (Apple Silicon) in UE5.3.1?

I’ve followed the steps in the official documentation to set it up: Online Subsystem Steam Interface in Unreal Engine | Unreal Engine 5.3 Documentation

But no matter what I do, I keep getting this error in the log when I try to host a session:

LogOnline: Error: STEAM: Failed to create file: /Users/karl/Desktop/Gamedev/Unreal/DemoGame/Build/Mac/DemoGame.app/Contents/UE/DemoGame/Binaries/Mac/steam_appid.txt
LogOnline: Warning: STEAM: Could not create/update the steam_appid.txt file! Make sure the directory is writable and there isn't another instance using this file
LogOnline: Warning: STEAM: Could not set up the steam environment! Falling back to another OSS.
LogOnline: Warning: STEAM: Steam API failed to initialize!
LogOnline: Display: STEAM: OnlineSubsystemSteam::Shutdown()
2023-10-30 20:43:12.865 DemoGame[20350:180691] [UE] [2023.10.31-00.43.12:865][117]LogOnline: Error: STEAM: Failed to create file: /Users/karl/Desktop/Gamedev/Unreal/DemoGame/Build/Mac/DemoGame.app/Contents/UE/DemoGame/Binaries/Mac/steam_appid.txt
2023-10-30 20:43:12.865 DemoGame[20350:180691] [UE] [2023.10.31-00.43.12:865][117]LogOnline: Warning: STEAM: Could not create/update the steam_appid.txt file! Make sure the directory is writable and there isn't another instance using this file
2023-10-30 20:43:12.865 DemoGame[20350:180691] [UE] [2023.10.31-00.43.12:865][117]LogOnline: Warning: STEAM: Could not set up the steam environment! Falling back to another OSS.
2023-10-30 20:43:12.865 DemoGame[20350:180691] [UE] [2023.10.31-00.43.12:865][117]LogOnline: Warning: STEAM: Steam API failed to initialize!
2023-10-30 20:43:12.865 DemoGame[20350:180691] [UE] [2023.10.31-00.43.12:865][117]LogOnline: Display: STEAM: OnlineSubsystemSteam::Shutdown()
1 Like

The solution was to remove the Development Entitlements so that the game is built without the Sandboxing flag which limit its permissions, such as reading and writing the steam_appid.txt among other things.

Project Settings > Xcode > Mac: Development Entitlements > Remove the value

3 Likes

I don’t know how you figured this out, but you solved my problem as well! Windows I could host / join, Mac it couldn’t even find the subsystem let alone search / join one.

Thank you!!!

How did you figure that out ? This is life saving thank you ! Now, the clients work

@AkenOo @slashtom After a couple of weeks of debugging it hit me that it might be related to Apple’s sandboxing technology (I’m an app developer). I’m happy it worked for you guys too!