Current issues with WebView Export

Not favoritedFavorited Favorited 0 favourites
  • 8 posts
From the Asset Store
ALL Firebase Support c3 export > WEB > MOBILE > DESKTOP
  • Here are the list of issues that Webview Export currently has. Sourced by the community testing various features across nearly a dozen power users. Keep in mind, all of these issues are non-issues for people exporting with Godot, Unity and Unreal to desktop.

    Also, we should note that fixing these issues is much more difficult due to the nature of web wrapped games. However it should still be possible because there are electron games that have none of these issues.

    1. Steam overlay doesn't appear. This is happening with the fallback (disabled in-game overlay) and otherwise. This is a non-issue in NW.js
    2. OBS cannot display our webview exports. It appears as blank white screen instead of the game canvas. Streamers cannot live broadcast our games. This is a non-issue in NW.js
    3. Cannot be NV-Patched to seek out dedicated GPU's on the device because the browser being used to run the Webview export is built into windows and not available for modification in the exported directory
    4. Webview export uses a Microsoft service, and Microsoft collects telemetry data. This requires construct users to add additional disclaimers in some jurisdictions regarding data collection.

    Hopefully the list proves to be a useful collection of issues for both Scirra and fellow Construct users when assessing the viability of using the Webview export.

    Hopefully as well, Ashley doesn't respond with "go contact OBS, Steam, Microsoft and AMD" because, like mentioned earlier, these are non-issues in tons of other games on Steam. Including web games and including NW.js construct exports.

    Thanks for taking the time to read!

    Tagged:

  • We are aware of these and we're working to get them all resolved before the time NW.js is retired.

    Steam overlay doesn't appear. This is happening with the fallback (disabled in-game overlay) and otherwise.

    The fallback (showing the actual Steam UI over the game rather than in-game overlay) should be working, and did last I tried. If it does not, please file an issue. As for supporting the in-game overlay, please see the section on the Steam overlay here.

    OBS cannot display our webview exports. It appears as blank white screen instead of the game canvas. Streamers cannot live broadcast our games. This is a non-issue in NW.js

    I can successfully capture a WebView2 export with OBS using either the display capture (suitable for a fullscreen game) or window capture with capture method Windows 10. So there do appear to be working fullscreen and windowed capture methods in OBS. If some other mode that you want to use doesn't work, it would be best to report it to OBS - it's their software and it's OBS's job to be able to capture things no matter what the app does.

    Cannot be NV-Patched to seek out dedicated GPU's on the device

    We're following up with GPU vendors about fixing this. If others contact them as well that would help. It's also possible to fix if the Chromium browser engine is updated to support multiple GPUs, which Google have said they want to do. It's probably also possible to fix via WebView2 and I will look in to following up there too. So there's a few avenues where this could be resolved.

    Webview export uses a Microsoft service, and Microsoft collects telemetry data.

    I realize I'm not a data/privacy lawyer, but WebView2 is now a Windows component, and so doesn't that just fall in to the general telemetry of the Windows OS itself? As in, if you use Windows, then you are subject to Microsoft's telemetry anyway, and the data Microsoft collect is dealt with via Microsoft's privacy policy and the agreement between Microsoft and the user, rather than your app and the user.

    Hopefully as well, Ashley doesn't respond with "go contact OBS, Steam, Microsoft and AMD" because, like mentioned earlier, these are non-issues in tons of other games on Steam.

    I'm afraid in some cases things are genuinely outside of our control and sometimes we do have to talk to other organisations to get things changed. The fact other games work does not mean it is possible for us to do the same thing - we have our own technologies which have their own tradeoffs. It is always a tricky problem for us when people either don't understand or don't believe us on this point: if people continue to insist we do something that is outside of our control, there is really nothing we can do. For example if there is a graphics driver bug affecting someone's game, usually we genuinely cannot fix it - the GPU vendor has to. Whether the bug affects other games is pretty much irrelevant - bugs can have extremely specific circumstances and so affect some games but not others, and the fact a different game is not affected does not mean it's feasible for us to just do the same thing as that game, which may be built using entirely different technologies.

    If people co-operate and follow up with the organisations we advise, it is much more likely that these issues will actually be resolved. If you don't believe me and continue to insist we fix them, then it will make it less likely they are resolved, and much frustration may result. For this reason our Forum & Community guidelines includes:

    Demanding impractical measures or infeasible solutions. If we say we can’t do something, it’s not because we don’t want to, or we’re being difficult, we genuinely can’t do everything!

    Hopefully it won't come to that though.

  • Thank you, Vinnie, for compiling these feedback points, all of which have been hot topics in the community over the last two months.

    And thank you to Ashley and Scirra for taking a closer look. It’s great to hear that the importance of strong Steam and desktop support has not gone unnoticed.

  • Adding some more recent experiences, to show impact for game devs.

    It seems that doing micro transactions in game does require an overlay and there is no auto fallback.

    When you initiate a transaction via a request from your purchase server to the steam servers (after a client request), the steam app on the client side opens an overlay for transaction approval. If no overlay support, so far I have found that a fallback method does not appear. So, the transaction cannot be completed.

    The non fall back work around is to have a fully separate web site that you send the user to do the purchases and do a separate process to authorize it. It takes you a bit out of the game experience, and friction for purchasing can certainly create a hit to game income. To make it a little better, you may be able to use an iframe, but you have less control over rendering and UI in that case.

    Note that for mac, I have not yet seen an overlay working on any browser based framework. So, that would require a web based work around. The saving grace here is that Mac (and Linux) are generally a very small part of the market (in terms of user demographics.)

    If I find out other workarounds for overlay or other aspects as I continue work. I will post them.

    (Also I am following the webview2 to texture to D3D issue/feature request, which could help. Ashley, I know you are already familiar with this.)

    An idea for windows overlay though.

    Without overlay on, display webview2 window, only. When the overlay is on, use the slower preview capture API of webview2 and use that as texture to write to a D3D window that is now enabled, the overlay can display on top of that and the alpha should be ok, since they mixing on the same surface. Since overlay is on, the webview2 display does not need to be full realtime, so a more slowly updated display could be ok. After overlay disable d3d window and show webview2.

    Here is a gist that seems to support the slower capture method (have not tried it myself yet):

    gist.github.com/pabloko/5b5bfb71ac52d20dfad714c666a0c428

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Mikal - please do contact Valve via the options described here to describe your situation and use case so Valve is aware. Perhaps they could at least add a fallback option for that case.

    It would be worth checking on the Steam Deck as well though - as far as I'm aware the overlay is working fine there, because it uses a simpler method of just drawing on top of the app, instead of intrusively modifying what the app renders.

    Without overlay on, display webview2 window, only. When the overlay is on...

    With any workaround that depends on only turning on when the overlay shown/hidden events fire, you still lose things like the "achievement unlocked" toast popup, and anything else that shows outside of the full overlay being shown. So any such workarounds will still not completely support all aspects of the in-game overlay.

  • I will do some more testing and then if there's still no workaround/fall back for authorization+overlay, I will post to valve.

    Good point about toast popup, then I start thinking about how to detect that, but in that case you do still want real time and the workaround scenarios start to get convoluted.

    Unless I am missing something, until we get a cleaner webview2 workaround or valve adds support for chromium based overlays (including webview2), the way forward for overlay support (if needed) is still nw.js/electron for windows.

    Thanks for your efforts on this.

  • OBS cannot display our webview exports. It appears as blank white screen instead of the game canvas. Streamers cannot live broadcast our games. This is a non-issue in NW.js

    Getting this issue on my end (Windows 11 23H2, NVIDIA GeForce RTX 3080 Ti) as well! This issue is what prevented a high-profile streamer from playing my game. :-(

  • > OBS cannot display our webview exports. It appears as blank white screen instead of the game canvas. Streamers cannot live broadcast our games. This is a non-issue in NW.js

    Getting this issue on my end (Windows 11 23H2, NVIDIA GeForce RTX 3080 Ti) as well! This issue is what prevented a high-profile streamer from playing my game. :-(

    I read further into this and I found the following link, written by another Construct developer: steamcommunity.com/games/2274550/announcements/detail/3729600409826479442

    LAST ADDENDUM - A streamer has been working with me to showcase CCH5 and ran into an error where he couldn't capture game footage on OBS: It appeared as a white screen in Window Capture. We found a fix by changing Capture Method to Windows 10. If you try recording CCH5, try using this workaround.

    Indeed, this seems to work just fine. It's 100% an OBS issue. Please help out by reporting it as a bug over on their forum, or help support the following bug report I've made: obsproject.com/forum/threads/bug-construct-3-webview2-games-appearing-as-a-white-screen.183764

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)