2
\$\begingroup\$

I have developed a game using C#+WPF and the game is currently on Steam (private branch until release). However Steam's overlay isn't working with WPF. Sometimes it tries to appear in the popups of comboboxs.

I've tried several options, the best so far was to render a black screen using SharpGL under my application :

<sharpGL:OpenGLControl 
            Name="openGLControl"
            DrawFPS="False" RenderContextType="FBO" FrameRate="14"/>
<Grid Name="gridContainingMyApplication">

</Grid>

But as you can imagine this decreases the performance of the application and some effects can appear delayed (mouseover for example).

It was not a major concern until now but since we are planning on adding multiplayer we would like to find a way to make Steam's overlay work.

I know that WPF isn't the best option to create games but in our case we thought it would be. We've created a simulation game and since we have a lot of tables/stats/etc. we thought WPF was great, and excepting this overlay issue WPF seems perfect for us.

Is there a way to make Steam's overlay work with WPF ?

Thank you,

\$\endgroup\$
2
  • \$\begingroup\$ I'm having a similar problem with WinForms. Pop-ups do show, but the overlay itself does not. \$\endgroup\$
    – user35443
    Sep 8 '16 at 6:40
  • \$\begingroup\$ Did you get your WinForm game to work on Steam? \$\endgroup\$
    – johnny
    Aug 10 '17 at 2:17
2
\$\begingroup\$

It's because WPF only refresh areas that need update. Thus, create something transparent refresh repeatedly cover the whole window when OnGameOverlayActivated fires. For popup, just cover the right bottom corner when game start.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.