we're integrating with Steam and are having a hard time getting the overlay to appear. We see that other games done in unity are able to do this. We have all other steam functionality working, so any pointers on this to get us moving in the right direction would be greatly appreciated. thanks
Reviving this old thread as we're having the exact same problem. As above we have steam functionality working but not able to bring the overlay up.
Are you launching the game through steam? Because overlay is injected into your game automatically when run from steam. I just added my game as custom game to steam and launched it, the overlay shows up just fine. So I don't see why it wouldn't if your game is already on steam.
Not launching it through Steam but I am calling the steam initialise, which should have the same effect. Certainly on non-unity game (e.g. their own example project) it's not required to launch through Steam. The problem may lie in when we're initialising Steam. Is there any way to run code before Unity initialises the OpenGL/D3D device?
if you source license it then yes. Otherwise no, the graphics is there before the first line of script code gets executed, likely even before mono itself is operating.
Hmm, that's what I feared. OK, I'll try launching it from Steam and see if the overlay at least works that way. Thanks guys. --edit-- I forgot to add, launching from steam does allow the overlay to work.
Did you verify you had "enable Steam community" checked in the properties of the game in the Steam Client (the checkbox was unchecked by default for me). Seems stupid but makes me lose half an hour
I think what's being discussed here is injecting steam it's self into the code of Unity, such as achievements etc - which, by adding your game to steam as a non-steam game will only have the overlay. The OP, or person reviving the thread may not need achievements but that's essentially what they're asking I do believe.
We are currently integrating Steamworks for our game Transcripted and even if achievements were displayed in unity editor mode, when in fullscreen (from a desktop build) it seems it only works with the game launched from Steam Client. But without the "enable Steam community" checked in game properties, the achievements (and any other overlay features) won't be displayed (no matter if the game is in windowed mode or not)
(Necropost, but anyway ...) On a related note, has anyone been able to get the Steam overlay to work while playing your game in the Unity editor? By adding the Unity editor to Steam as a "non Steam game" I was able to get the Steam overlay to appear in the editor itself, but it shows up on every window and is (almost) unresponsive, so I'm not sure this is getting me anywhere.
I think Steam overlay appears in every game automatically. Try to add finished game as a build into steam and try launch it. Then try to open steam overlay from there. I don't think there is support for steam overlay in editor.
This is an old thead but question seems to be unanswered, To get the Overlay to work just build the game in Unity, then go to Steam, Games => Add a Non-Steam game to my library, browse to select the game .EXE, then run the game from Steam, that way the overlay will work, I was trying to call ActivateGameOverlayInviteDialog but it wouldn't work until now
Hi, we got reported issues with the Steam Overlay on a certain PC only (Windows11, DirectX 12), which I suspect might relate to the original issue of this thread. @Dreamora said, there's no way to run code before Unity initializes the OpenGL/D3D device. Steam documentation says, the overlay requires certain methods to be called before that happens, though. So I wonder, if our issue is due to that, and I generally wonder why the Overlay works in so many games then anyway. Well, my question is this: There's the [RuntimeInitializeOnLoadMethod()] attribute. Could this be used to run code prior to initializing the OpenGL/D3D by utilizing the right RuntimeInitializeLoadType?