
SimpleWebRTC is a Unity-based WebRTC wrapper that facilitates peer-to-peer audio, video, and data communication over WebRTC using Unitys WebRTC package and websockets.SimpleWebRTC is a Unity-based WebRTC wrapper that facilitates peer-to-peer audio, video, and data communication over WebRTC using Unitys WebRTC package https://docs.unity3d.com/Packages/com.unity.webrtc@3.0/manual/index.html. It leverages WebSockets for signaling and supports both video and audio streaming.A tutorial YouTube video can be found here: https://www.youtube.com/watch?v=-CwJTgt_Z3MSimple InstallationMake sure, that the required dependencies are installed (TextMeshPro, Unity WebRTC, NativeWebSocket (https://github.com/endel/NativeWebSocket)).Go to the Unity AssetStore page: https://assetstore.unity.com/packages/slug/309727Install the package via Unity AssetStore.Installation using the releases pageGot to the releases page and download the latest release from https://github.com/FireDragonGameStudio/SimpleWebRTC/releasesMake sure, that the required dependencies are installed (TextMeshPro, Unity WebRTC, NativeWebSocket (https://github.com/endel/NativeWebSocket)).Import the package into your Unity project.Manual InstallationClone the repository: git clone https://github.com/FireDragonGameStudio/SimpleWebRTCOpen the Unity project in the Unity Editor.Ensure that the required dependencies (such as TextMeshPro, Unity WebRTC and NativeWebSocket) are installed.Usage of WebRTCConnection ComponentThe WebRTCConnection component manages the WebRTC connection and can be attached to a GameObject in Unity.Following sample scenes are included in the pacakge:WebSocket-TestConnection: For testing the wecksocket connection separately.WebRTC-SingleClient-STUNConnection: Testing STUN connection for a single client. Works standalone and can be deployed to clients. Make sure to set the LocalPeerId for each client individually.WebRTC-SingleClient-wLobby-STUNConnection: A simple Lobby example for handling multiple STUN WebRTC clients. SimpleLobbyManager.cs shows an example, how to use SimpleWebRTC via C#.WebRTC-MultipleClients-STUNConnection: Shows how multiple clients can be connected via peer-to-peer connections and share data, video and audio transmissions.Example codeWebRTCConnection connection = gameObject.GetComponent();connection.Connect(); // Establish WebSocket connection// after a WebRTC peer-to-peer connection is establishedconnection.StartVideoTransmission(); // Begin video streamingconnection.SendDataChannelMessage("Hello Peer!"); // Send a message over the data channelFor further information check https://github.com/FireDragonGameStudio/SimpleWebRTCWebRTC peer-to-peer connection managementWebSocket-based signalingVideo and audio streamingData channel communicationLogging and debugging tools