#Itch + Safari Disaster

1 messages · Page 1 of 1 (latest)

prisma tulip
#

I'm exporting a game for html5 to play on Itch.io. The export is using the Thread Support setting to account for bad streaming audio for the game music. To play such a game on Itch, I must enable the SharedArrayBuffer setting. Unfortunately, the changes this creates for the game's landing page on Itch is a "problem repeatedly occurred" error on Safari browers.

I'm not sure that this is directly solvable...if not, I welcome some creative problem solving. Thanks!

rocky fulcrum
#

Due to security concerns with SharedArrayBuffer due to various exploits, the use of multiple threads for the Web platform has multiple drawbacks, including requiring specific server-side headers and complete cross-origin isolation (meaning no ads, nor third-party integrations on the website hosting your game).

Since Godot 4.3, Godot supports exporting your game on a single thread, which solves this issue. While it has some drawbacks on its own (it cannot use threads, and is not as performant as the multi-threaded export), it doesn't require as much overhead to install. It is also more compatible overall with stores like itch.io or Web publishers like Poki or CrazyGames. The single-threaded export works very well on macOS and iOS too, where it always had compatibility issues with multiple threads exports.

For these reasons, it is the preferred and now default way to export your games on the Web.

For more information, see this blog post about single-threaded Web export.

#

In particular, this sentence:

The single-threaded export works very well on macOS and iOS too, where it always had compatibility issues with multiple threads exports.

prisma tulip
#

I have seen it, which is why I posted this asking for some creative problem solving. For instance, how might I get my audio streaming to be okay while still single-threaded?

#

itch doesn't support having both the multi and single threaded builds in the same page because it changes the header, so I basically have to go single-threaded if I want to support safari (I dont' think it's the ios itself that has the issue)

rocky fulcrum
#

From what I understand, if you go single threaded (which looks to be required for iOS), you have to use the "sample" playback mode to get audio to not have issues. I think there are a few limitations with that as opposed to the "stream" playback mode, but I've never looked into it in much detail

prisma tulip