I've been thinking about the future of the desktop exports, especially as I'd like to support other stores like the Epic Games Store too, but the current approach of relying on the current set of third-party tools isn't working out (as noted Greenworks is essentially abandoned and I don't believe any Epic Games equivalent exists).
TBH I'd prefer to move everything over to the Windows WebView2 export option. I've been impressed with how well WebView2 works, and it has the official backing of Microsoft, who have a lot more resources than the NW.js team (who seem to have been struggling to fix even serious regressions lately). It would be more feasible to develop our own Steam/Epic integration for the WebView2 export option as we already have a custom container app around the WebView2 control.
The only downsides are:
- Currently WebView2 is Windows only, but:
- their roadmap does say macOS and Linux support is planned
- Our stats show the vast majority of NW.js exports are for Windows anyway, so maybe it doesn't matter
- The Steam Overlay doesn't appear with WebView2 apps, and the command-line workarounds for NW.js don't seem to work for it. I already reported this to Valve, but there's been no progress yet (and my past efforts to get them to fix things have been fruitless, which is why there's a bunch of quirks with NW.js that Valve never fixed).
So it's a bit of a mess, but so long as the existing stuff keeps working I don't think there's any major urgency. As ever it's also a lot of work whichever path we take and with our limited resources we'd have to delay or cancel some other planned features or tasks to work on this. I'd be interested in thoughts on using Windows WebView2 for Steam publishing, assuming we got it to work - would the lack of macOS or Linux support be significant?
I'd add it should be possible for third-party developers to step in too - there's nothing stopping a third-party developer (or contracting someone to do the work if it's that important) to write the necessary integration for the existing NW.js export. That includes forking and updating the existing Greenworks code which should provide a fairly mature starting point.