• Building
  • Safari users cannot play my HTML5 game.

Most times, the error they get is Cannot read property 'getParameter' of undefined on non-Chrome browsers, but I've also seen undefined is not an object (evaluating 'GLctx.getParameter') from Safari--actually, now that I've put them side-by-side, they look like the same error.

Is this something I can fix, or would it call for some serious technical know-how?

Seems a lot like the issue reported on this thread for Knight's Path.

Did you export the project with OpenGL 3 or OpenGL 2? The issue might be that Safari doesn't support WebGL 2, or is having issues with Godot and WebGL 2. Exporting to OpenGL 2 might work, since it uses WebGL 1, which has better browser support. Looking online, it appears Safari does not have WebGL 2 support by default, and when enabled it fails the majority of test cases.

I would try exporting the project using OpenGL 2 and see if that fixes the issue. ( @Aeternuxolus - Did changing to OpenGL 2 fix the issue with the web build of Knight's Path? )

I didn't see any option to pick a renderer when exporting to HTML5. I'll look around!

You can pick the renderer in the Godot editor, which will change the renderer for the entire Godot project. You can find it on the top right corner of the Godot editor window:

Make a backup before changing the renderer, just in case! Once you have changed the renderer, exporting to HTML should use OpenGL 2.

Don't forget to check project settings too.

Whoa!!! Thanks a lot. I'm hopeful for it also improving FPS, but only a little hopeful. You've all been great, thanks!

Forgot to say that I haven't checked if it works, yet. I was a little eager.

11 days later

I have not been alerted to the original error since I changed the renderer to GLES2, but now iPhone users are getting this and are unable to play the game. I don't think it's itch.io, but I don't know.

abort(114). Build with - s ASSERTIONS=1 for more info.

I noticed I'm getting the same issue on one of my OpenGL 2 games I made for a game jam on Safari. Turning on third-party cookies, which is done through disabling prevent cross-site tracking on the Safari tabs in settings, seems to have fixed the issue. Now the jam game loads after a few seconds, and I can see the title screen.

I think enabling third-party cookies should fix the issue.