NexPlayer™ for Unity is a cross-platform video streaming player for Unity apps that supports both regular and 360 video playback across all Android, iOS, macOS, and Windows devices. NexPlayer's Unity video plugin is the only player supporting Widevine DRM-protected HLS & DASH streaming on all Android & iOS devices.
This repository contains the NexPlayer™ Unity video streaming player plugin features list as well as an installation guide. If you want to get a copy of our fully working demo, contact us at our website.
Our Unity video plugin allows for the introduction of new exciting scenes within your Unity projects. With our plugin, you can use in-game actions and objects to modify video content.
The NexPlayer™ for Unity video streaming player plugin contains the latest features. As our Unity video plugin is developed entirely in-house, we can implement any desired functionalities.
We support the following features:
Overview |
|
Basic Features |
|
Advanced Features |
|
360 Video Playback and Virtual Reality (VR) |
|
Platform | Supported Graphics APIs | HLS | DASH | Local | Inside App (Streaming Assets) |
---|---|---|---|---|---|
Android | OpenGLES2, OpenGLES3 | ✔️ | ✔️ | ✔️ | ✔️ |
iOS | Metal | ✔️ | ✔️ | ✔️ | ✔️ |
Windows | DirectX11 / DirectX12 | ✔️ | ✔️ | ✔️ | ✔️ |
macOS | Metal | ✔️ | ❌ | ✔️ | ✔️ |
Create a new Unity project and import the NexPlayer™ Unity video streaming player plugin.
Load the player Scene by following the path: 'Assets/NexPlayer/Scenes' and opening 'NexPlayer_RawImage_Sample.unity' by double clicking. Test the playback by selecting the play button in the editor.
Load the 360 Video Scene available in 'Assets/NexPlayer/NexPlayer360/Scenes/NexPlayer360.unity'. Test the playback by selecting the play button in the editor.
Add the following scenes to the Unity build:
- Assets/NexPlayer/Scenes/MainMenu.unity
- Assets/NexPlayer/Scenes/NexPlayer_ChangeRenderMode_Sample.unity
- Assets/NexPlayer/Scenes/NexPlayer_MaterialOverride_Sample.unity
- Assets/NexPlayer/Scenes/NexPlayer_Multistream_RenderTexture
- Assets/NexPlayer/Scenes/NexPlayer_Multistream_RawImage
- Assets/NexPlayer/Scenes/NexPlayer_PlaybackMultipleRenderer_Sample.unity
- Assets/NexPlayer/Scenes/NexPlayer_PlaybackSetting_Sample.unity
- Assets/NexPlayer/Scenes/NexPlayer_RawImage_Sample.unity
- Assets/NexPlayer/Scenes/NexPlayer_RenderTexture_Sample.unity
- Assets/NexPlayer/Scenes/NexPlayer_Transparency_Sample.unity
- Assets/NexPlayer/Scenes/NexPlayer_VideoSpreadRenderTexture_Sample.unity
- Assets/NexPlayer/NexPlayer360/Scenes/NexPlayer360.unity
Switch to the desired platform.
Manually select the compatible graphics APIs in the "Player Settings" section of Unity for each platform.
- To allow the application to have internet access for streaming videos, select the "Require" value for the "Internet Access" option in the Unity player settings.
- Set "Write Permission" to External (SDcard)
- Make sure to set a specific app ID under "Package Name" as required by Unity before compiling your application.
- To view HTTP videos, enable "Allow downloads over HTTP" option.
- After compilation, in XCode make sure to set a "Signing Team."
- Under embedded binaries, click the "Plus" button and add:
- widevine_cdm_sdk_release.framework
- WidevineIntegration.framework
A quick and easy way to enable these settings is by using the helper component (NexEditorHelper.cs). If the helper component NexEditorHelper.cs is attached to any GameObject, it will include a graphics UI to auto detect any conflict regarding the graphics API, and it will promptly solve it.
[email protected]
+34 914 184 356