VLC for Unity
This repository contains the native Unity plugin that bridges LibVLCSharp with LibVLC for performance oriented video rendering in Unity3D applications and games. Available on the Videolabs Store.
LibVLC Features
Given that this plugin is using LibVLCSharp (which uses LibVLC), it exposes more or less the same feature set and same codecs support than VLC, such as:
- Play every media file formats, every codec and every streaming protocols
- Run on every platform, from desktop (Windows, Linux, Mac) to mobile (Android, iOS) and TVs
- Hardware and efficient decoding on every platform, up to 8K
- Network browsing for distant filesystems (SMB, FTP, SFTP, NFS...) and servers (UPnP, DLNA)
- Playback of Audio CD, DVD and Bluray with menu navigation
- Support for HDR, including tonemapping for SDR streams
- Audio passthrough with SPDIF and HDMI, including for Audio HD codecs, like DD+, TrueHD or DTS-HD
- Support for video and audio filters
- Support for 360 video and 3D audio playback, including Ambisonics
- Able to cast and stream to distant renderers, like Chromecast and UPnP renderers.
And more.
Supported platforms
- Windows Classic
- Minimum OS version: Windows 7.
- ABI supported: x64.
- Graphics API: Direct3D 11
- Windows Modern (UWP)
- Minimum OS version: Windows 10.
- ABI supported: x64, ARM64.
- Graphics API: Direct3D 11
- Android:
- Minimum OS version: Android 4.2 (API 17).
- ABIs supposed: armeabi-v7a, arm64-v8a, x86, x86_64.
- Graphics API: OpenGL ES 2/3
Installation
The recommended way to install the VLC for Unity plugin is through the Videolabs Store. This also ensures you get commercial support with your build.
Platform | Videolabs Store Asset |
---|---|
Windows | |
UWP | |
Android |
Download the Free Trial Version.
Getting started
There is a quick documentation.txt
file included in the package. It gives some context and high level overview of how things work and how to get started.
Since this Unity plugin largely shares the same API than LibVLCSharp, most LibVLCSharp samples and documentation apply, do check those out!
Documentation
See the LibVLCSharp documentation.
It includes best practices, Q&A guide, libvlc specific information and tutorials.
Support
Support is done on a volunteer base, professional support is only available for paying customers.
StackOverflow
We regularly monitor the and tags on StackOverflow.
Sample scenes
Several Unity sample scenes are available to help you get started quickly!
- A minimal playback example with buttons,
- 360 playback with keyboard navigation built-in,
- A video with subtitles showcasing support,
- The VLCPlayerExample provides a great base with more controls,
- 3D scene you can move around in with a movie screen and chairs in a cinema room.
More LibVLCSharp samples can be found here.
Roadmap
Future platforms support
- macOS, iOS, tvOS,
- Browser,
- Linux.
Future graphics APIs
- Vulkan,
- WebGL
- Metal.
Other improvements
- Provide in-Editor MediaPlayer customization, so you can customize LibVLC and playback parameters directly from the Unity Editor.
Release Notes
Check out the NEWS file for details about each release.
Debugging
Editor crash location: C:\Users\YourUserName\AppData\Local\Temp\Unity\Editor\Crashes
Code of Conduct
Please read and follow the VideoLAN CoC.
Commercial services
The VLC for Unity integration makes use of several software components to provide a full featured and easy to use VLC player in your Unity apps and games. It goes without saying that this represents significant work. This work is handled by both the OSS community and opensource consulting partners. The frontiers and rules of commercial and open-source cohabitation can sometimes be blurry and confusing. The following information aims to clarify that.
Distribution
Distribution can be defined as the way in which you acquire a piece of software, in this case, a VLC for Unity asset.
Distribution | $$$ Cost |
---|---|
Build from source | Free |
Download from the Unity Asset Store | 100$ per target platform |
The whole of the VLC for Unity asset is open-source. Which means that you can definitely build it yourself and use it, for free. Depending on your experience building native and managed code, it can be a challenging (yet rewarding) endeavor.
For convenience, Videolabs provides the already built binaries through the Videolabs Store. Building and publishing these assets properly takes time and skill, this is the reason for the financial cost.
Support
VLC for Unity combines wide and powerful bricks of software. Bugs happen and feature requests, too. That is an expected part of software development. If you encounter an issue on VLC for Unity, depending on which component is at play, you have a few options to choose from at your disposal:
Support | $$$ Cost |
---|---|
Debug and fix the code by yourself | Free |
Limited support | Free |
Bug in the Unity integration | Free (+ paid if urgent) |
Feature request for the Unity integration | Paid |
Bug in VLC | Paid |
Feature request for VLC | Paid |
Performance optimization for VLC or Unity | Paid |
Important note
VLC is a large ecosystem run by the VideoLAN non-profit and a community of volunteers. Videolabs is an independent company providing development services around VLC open source technologies. While Videolabs does ship and sell the Unity integration, Videolabs declines all responsibility for issues specific to VLC. However, Videolabs being the main contributors to VLC improvements, feel free to reach out in case of related commercial projects.
More services
If you would like VLC developers to provide you with:
- custom development on LibVLC, VLC for Unity and/or LibVLCSharp,
- training and workshops,
- support services,
- consulting services,
- other multimedia services.
Feel free to contact us.
License
Licensed under the LGPL 2.1 and proprietary license via Videolabs.