Reproduce:
- Enable OnlineSubsystem, OnlineSubsystemSteam and OnlineSubsystemUtils plugins
- Add
DynamicallyLoadedModuleNames.Add("OnlineSubsystemSteam");
to game’s build.cs - Add
bUsesSteam=true
to constructor in game’s target.cs (only needed on macOS btw and not other platforms) - Package game
- Open Steam
- Games > Add a Non-Steam Game to My Library > choose game.app
- Start game
Expected:
- Steam start notification should appear on start
- Steam overlay should start (SHIFT+TAB)
Current:
- Steam start notification does not appear on start
- Steam overlay does not start (SHIFT+TAB)
- Works under Windows and Linux (except proper screenshot but that is another issue).
Other options which I tried but did not have an effect:
- Checking log (says STEAM: Loading Steam SDK 1.32), I added debug code to ensure that it really was loaded too
- Packaging using Steamworks v137 instead of default v132
- Uploading to Steam downloading then through client
- Choosing different package builds (shipping, development)
- Rebinding keys in Steam
- Copying libsteam_api.dylib to game.app/Contents/MacOS (it is already there due to
bUsesSteam=true
) or to UE4Editor.app/Contents/MacOS - Start the game using -opengl seems to at least allow making screenshots (although they are broken like on Linux) but Overlay still does not show (although mouse gets shows/hidden using SHIFT+TAB so it seems like it is at least registering unlike using Metal)
This was already reported in Steam gets initialized, but overlay not working [MAC] - Platform & Builds - Unreal Engine Forums but there was no official answer. I am pretty sure that I have exhausted all available options so it just seems to really not be working.