SimpleWebRTC
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.
by FireDragonGameStudio
Price History +
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_Z3M
Simple Installation
- Make 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/309727
- Install the package via Unity AssetStore.
Installation using the releases page
- Got to the releases page and download the latest release from https://github.com/FireDragonGameStudio/SimpleWebRTC/releases
- Make sure, that the required dependencies are installed (TextMeshPro, Unity WebRTC, NativeWebSocket (https://github.com/endel/NativeWebSocket)).
- Import the package into your Unity project.
Manual Installation
- Clone the repository: git clone https://github.com/FireDragonGameStudio/SimpleWebRTC
- Open the Unity project in the Unity Editor.
- Ensure that the required dependencies (such as TextMeshPro, Unity WebRTC and NativeWebSocket) are installed.
Usage of WebRTCConnection Component
The 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 code
WebRTCConnection connection = gameObject.GetComponent<WebRTCConnection>();
connection.Connect(); // Establish WebSocket connection
// after a WebRTC peer-to-peer connection is established
connection.StartVideoTransmission(); // Begin video streaming
connection.SendDataChannelMessage("Hello Peer!"); // Send a message over the data channel
For further information check https://github.com/FireDragonGameStudio/SimpleWebRTC