SimpleWebRTC

FREE
Publisher FireDragonGameStudio
File size 2.74MB
Number of files 23
Latest version 1.0.1
Latest release date 2025-02-12 03:43:13
First release date 2025-02-12 03:43:13
Supported Unity versions 2018.4.2 or higher

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/[email protected]/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

  1. Make sure, that the required dependencies are installed (TextMeshPro, Unity WebRTC, NativeWebSocket (https://github.com/endel/NativeWebSocket)).
  2. Go to the Unity AssetStore page: https://assetstore.unity.com/packages/slug/309727
  3. Install the package via Unity AssetStore.

Installation using the releases page

  1. Got to the releases page and download the latest release from https://github.com/FireDragonGameStudio/SimpleWebRTC/releases
  2. Make sure, that the required dependencies are installed (TextMeshPro, Unity WebRTC, NativeWebSocket (https://github.com/endel/NativeWebSocket)).
  3. Import the package into your Unity project.

Manual Installation

  1. Clone the repository: git clone https://github.com/FireDragonGameStudio/SimpleWebRTC
  2. Open the Unity project in the Unity Editor.
  3. 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