// the find
videolan/vlc-unity
LibVLC plugin for Unity to integrate multimedia playback inside your Unity apps and games
A native Unity plugin bridging LibVLCSharp/LibVLC into Unity's rendering pipeline for cross-platform video and audio playback. Useful for anyone building a Unity app or game that needs to play arbitrary media formats/codecs/streams beyond what Unity's built-in VideoPlayer handles — VR cinemas, digital signage, streaming clients, kiosk apps.
Inherits LibVLC's full codec/container/protocol support (basically anything VLC plays, this plays), which is a real gap Unity's native video player doesn't cover. The Linux graphics interop is genuinely engineered, not bolted on: it detects Unity's actual render-thread GLX/EGL context, falls back to DMA-BUF with render-node probing on hybrid GPU systems, and exposes diagnostic env vars (VLC_UNITY_DRM_DEVICE, VLC_UNITY_LINUX_OPENGL_BACKEND) for debugging GPU selection. Platform coverage is wide and specific — separate ABI/graphics-API notes for Windows, UWP, Android, iOS, macOS, and Linux rather than a vague 'cross-platform' claim. Logging is split into independent player-activity and low-level engine/render streams with console/file/event sinks, which matters when you're chasing a playback bug in production.
The actual usable artifact — prebuilt binaries — is paywalled at $700/year through the Videolabs Store; the 'free' option is building LibVLC and the native bridge yourself, which the README itself calls a challenging endeavor. Licensing is a mix of LGPL 2.1 and a proprietary license depending on which parts you use, so you need to actually read which files fall under which before shipping. Native Wayland support is explicitly experimental and not meant for production, so Linux Wayland users are pushed onto the XWayland/GLX path. Support is tiered such that any VLC bug fix or feature request beyond the Unity glue layer requires a paid contract, so if the bug is upstream in LibVLC rather than in this plugin, free users are stuck.