Skip to content

VLC for Unity - Unity3D plugin

License

Notifications You must be signed in to change notification settings

mfkl/vlc-unity-1

Repository files navigation

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 Unity 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 x64

Installation

The recommended way to install the VLC for Unity plugin is through the Unity Store. This also ensures you get commercial support with your build.

Platform Unity Store Asset
Windows VLCUnityWindowsBadge

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

Support

Support is done on a volunteer base, professional support is only available for paying customers.

Samples

A minimal Unity sample is available here. Additional Unity samples will come soon.

More LibVLCSharp samples can be found here.

Roadmap

Platforms support

  • Android (prototype working),
  • macOS, iOS, tvOS,
  • Windows 32bit,
  • UWP,
  • Linux.

Graphics APIs

  • OpenGL ES,
  • OpenGL,
  • Metal,
  • Direct3D9.

Other improvements

  • Provide various easy to use, ready-to-run samples and improved documentation.
  • 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.

Building

Windows

  • Download and install https://github.com/mstorsjo/llvm-mingw on latest Debian (WSL or otherwise). Add it to path.
  • Download VLC nightly build and adjust if need be vlc-4.0.0-dev/sdk/lib path to LDFLAGS in Common.mk
  • Build with
./build.sh

This will produce a VLCUnityPlugin.dll which you can use with LibVLCSharp in your Unity project

Code of Conduct

Please read and follow the VideoLAN CoC.

License

Licensed under the LGPL 2.1 and prorietary license via Videolabs.