Agora Video SDK for Unity reference game
This app demonstrates use of Agora's Video SDK for real-time audio and video communication. It is a robust and comprehensive documentation reference app for Android, designed to enhance your productivity and understanding. It's built to be flexible, easily extensible, and beginner-friendly.
Clone the repo, run and test the samples, and use the code in your own project. Enjoy.
Samples
This reference app includes several samples that illustrate the functionality and features of Agora Video and Voice SDKs. Each sample is self-contained and the relevant code can be found in its own folder in the root directory. For more information about each sample, see:
Get Started
- SDK quickstart - the minimum code you need to integrate low-latency, high-concurrency video calling features into your app using Agora Video SDK.
- Secure authentication with tokens - quickly set up an authentication token server, retrieve a token from the server, and use it to connect securely to the SD-RTN server as a specific user.
Develop
-
Call quality best practice - ensure optimal audio and video quality in your game.
-
Connect through restricted networks with Cloud Proxy - ensure reliable connectivity for your users when they connect from an environment with a restricted network.
-
Secure channel encryption - integrate built-in data encryption into your app using Video SDK.
-
Stream media to a channel - play video and audio files during online social and business interactions.
-
Screen share, mute, and volume control - Implement a simple workflow in your game.
-
Raw video and audio processing - Pre-process and post-process the captured audio and video data for implementation of custom playback effects.
-
Custom video and audio sources - Integrate a custom audio or video source into your app.
-
Live streaming over multiple channels - Stream media to multiple channels.
Integrate Features
-
Audio and voice effect - Implement different audio and voice effect features.
-
Spatial Audio - 3D Spatial Audio enhances your real-time interaction experience with immersive sound, making it feel like sound is all around.
-
Virtual Background - Blur the background or replace it with a solid color or an image.
-
Geofencing - Control and customize data routing in your
Prerequisites
Before getting started with this reference app, ensure you have the following set up:
- Unity Hub
- Unity Editor 2017.X LTS or higher
- Microsoft Visual Studio 2017 or higher
Run this project
To run the sample game, take the following steps:
-
Clone the repository
To clone the repository to your local machine, open Terminal and navigate to the directory where you want to clone the repository. Then, use the following command:
git https://github.com/AgoraIO/video-sdk-samples-unity.git
-
Open the project
-
In Unity Hub, Open
video-sdk-samples-unity
, Unity Editor opens the project.Unity Editor warns of compile errors. Don't worry, you fix them when you import Video SDK for Unity.
-
Go
Assets\Scenes
, and openSampleScene.unity
. The sample scene opens. -
Unzip the latest version of the Agora Video SDK to a local folder.
-
In Unity, click Assets > Import Package > Custom Package.
-
Navigate to the Video SDK package and click Open.
-
In Import Unity Package, click Import.
Unity recompiles the Video SDK samples for Unity and the warnings disappear.
-
-
Modify the project configuration
The app loads connection parameters from
./Assets/agora-manager/config.json
. Ensure that the file is populated with the required parameter values before running the application.uid
: The user ID associated with the application.appId
: (Required) The unique ID for the application obtained from Agora Console.channelName
: The default name of the channel to join.token
: An token generated forchannelName
. You generate a temporary token using the Agora token builder.serverUrl
: The URL for the token generator. See Secure authentication with tokens for information on how to set up a token server.tokenExpiryTime
: The time in seconds after which a token expires.
If a valid
serverUrl
is provided, all samples use the token server to obtain a token except the SDK quickstart project that uses thertcToken
. If aserverUrl
is not specified, all samples except Secure authentication with tokens use thertcToken
fromconfig.json
. -
Build and run the project
In Unity Editor, click Play. A moment later you see the game running on your development device.
-
Run the samples in the reference app
Choose a sample code from the dropdown that you wish to execute.
Contact
If you have any questions, issues, or suggestions, please file an issue in our GitHub Issue Tracker.