Proper Video Player Documentation

Installation

Import the asset into your Unity project, then use the Setup window to install any optional content or integrations.

Requirements#

  • Unity 2021.3 LTS or later, including Unity 6.
  • WebGL 2 is recommended and is Unity's default. A WebGL 1 texture-upload path is also included.
  • WebGL sources must be URLs that the target browser can decode. Unity VideoClip assets are not supported by the WebGL backend; place local files in StreamingAssets or host them on a web server.

On non-WebGL platforms, the component uses Unity's VideoPlayer. Format and codec support therefore depends on the browser in a WebGL build and on the operating system's media stack elsewhere.

Import the asset#

  1. In Unity, open Window → Package Manager → My Assets.
  2. Select Proper Video Player WebGL, then download and import it.
  3. The Setup window opens once after the first import. To open it later, select Tools → Proper Video Player → Setup.

No additional Unity package is required for progressive playback. HLS and DASH can use external streaming engines at runtime; see HLS & DASH Streaming. Continue with the Quick Start to configure a player.

Package contents#

PathContents
Runtime/The ProperVideoPlayer component, platform backends, playback watchdog, and low-level WebGL bridge.
Plugins/WebGL/The JavaScript backend included automatically in WebGL builds.
Editor/The Setup window, custom Inspector, and bundled demo-content package.
Integrations/UniTask/Optional async extensions. They remain inactive until UniTask support is enabled.
Documentation/The offline manual. The package root also contains the changelog and third-party notices.

Setup window#

Open Tools → Proper Video Player → Setup to manage the following optional items:

  • Demo Content installs or removes the demo scene, example materials and shaders, scripts, and sample videos in Assets/StreamingAssets/ProperVideoPlayerWebGL/.
  • Assembly Definitions installs runtime, editor, and UniTask integration asmdefs as a consistent set. Without them, the source compiles into Assembly-CSharp and Assembly-CSharp-Editor.
  • UniTask Support enables the optional async extensions by adding the PVPW_UNITASK_SUPPORT scripting define. When the asmdefs and the UniTask package are both present, the integration can also be enabled automatically through the asmdef version definition. See UniTask Integration.
Note

Setup operations are reversible. Removing demo content does not remove or modify the runtime player.