Introducing react-native-webrtc 106.0.0, featuring Unified Plan!

At long last, here it is. After 8 betas, lots of testing and tens of fixes I’m happy (and relieved, I won’t lie) to make the first stable release with Unified Plan!

We are quite confident in this one, and we’ll continue updating and improving it as bugs are discovered and features are needed.

I am very thankful for all the contributors who have made this possible. I mentioned some in the announcement for the first beta but since, I’ve been lucky to get lots of help from Johnathon and David, thank you!

Thanks also to everyone who tested and reported bugs, gaps in the API and browser compliance, we wouldn’t be as far as we are today without all of that.

:heart: The Unified Bandits.


Hopefully someone can create an updated guide and docs for people who are new to webrtc. I’ve been literally doing a lot of trial and error for one week now but still no luck. I got to the point where I seem to be able to make the connection but for some reasons I always end up with empty streams, the people can’t see the remote streams.

I’m actually starting to doubt if this project actually works, the examples doesn’t show case an actually working example of two or more devices being connected and sharing streams.

The original examples were mostly just a showcase of p2p, there will be new examples soon that might handle larger amounts of participants.
As for the documentation, there is an updated handbook in the works.

The module itself does function and is being used by plenty without issues.
That being said i can totally understand having issues being new to WebRTC, it can be a bit of a headache to wrap your head around but enough research and patience will get you through.

React Native WebRTC is a plugin to bring the WebRTC APIs to RN. There are tons of resources where to learn from WebRTC. I’d suggest you start testing with web browsers, since debugging there is much friendlier, and now that we have Unified Plan all the docs in MDN all apply here, finally. There is very little difference between how you use it on the web and how you need to use it in RN, it really boils down to:

  • importing the plugin
  • audio is automatically rendered, so nothing to do
  • there is no <video> element, so you need to use our custom component
1 Like

Thanks for the encouragement!

audio is automatically rendered, so nothing to do

Do you mean that the users (all peers) will hear the sounds coming from the peer right away once they have been connected and are able to stream data?

I have commented on Remote stream audio working but video not working if you got the time and the bandwidth, maybe you can take a look and provide insight?

Correct, you don’t need to have the equivalent of the <audio> tag.

1 Like