Steam Overlay Broken On macOS (Metal + OpenGL)

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.

Hey dgrieshofer,

Thank you for the report. The development staff is aware of this issue and the current status is showing that it is a bug with the Steam SDK. It is currently up to Valve to put in a fix, which there is no ETA for.