Safari: Multiplayer only works with "Legacy API" enabled

  • On the latest Safari (Safari 12), multiplayer only works if you enable "Legacy API" (Develop->WebRTC->Enable Legacy WebRTC API).

    It seems that Apple has decided to get rid of the callback-based API within RTCPeerConnection and replaced it with a promise-based API instead.

    From webkit.org/blog/7763/a-closer-look-into-webrtc/:

    Through the WebRTC standardization process, the RTCPeerConnection API progressively improved in various ways. Initially callback-based, the API changed to being fully promise-based. API initially focused on MediaStream moved to MediaStreamTrack. Thanks to the upstream effort by the WebRTC in WebKit team, the RTCPeerConnection API was aligned with these two major changes.

    We have turned the legacy WebRTC APIs off by default on Safari Technology Preview 34, and plan to ship Safari 11 on macOS High Sierra and iOS 11 without these APIs. Keeping the legacy API around limits our ability to move forward faster on WebRTC. Any website looking to bring support to Safari may need to make other adjustments, so this is as good a time as ever to move away from these legacy APIs. Existing websites may still rely on these legacy APIs, which you can check by turning on “Enable Legacy WebRTC API” in the Develop > WebRTC menu.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • This should be fixed in r264.

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