Introduction to panoramic videos
Set up a panoramic video as a skybox

Set up a panoramic video

Use a panoramic video to create a more immersive environment in your application.

To set up a panoramic video for use in Unity, follow these steps:

  1. Create a Video Player for your panoramic video.
  2. If your video has an equirectangular layout, render an equirectangular video to a render texture.
  3. If your video has a cubemapA collection of six square textures that can represent the reflections in an environment or the skybox drawn behind your geometry. The six squares form the faces of an imaginary cube that surrounds an object; each face represents the view along the directions of the world axes (up, down, left, right, forward and back). More info
    See in Glossary
    layout, render a cubemap video to a render texture.
  4. Project your video content onto an object.

Create a Video Player for your panoramic video

To create a Video Player component from your panoramic video:

  1. Import your video into Unity as an assetAny media or data that can be used in your game or project. An asset may come from a file created outside of Unity, such as a 3D Model, an audio file or an image. You can also create some asset types in Unity, such as an Animator Controller, an Audio Mixer or a Render Texture. More info
    See in Glossary
    .
  2. Drag the video asset from the Project view to an empty area of Unity’s Hierarchy view.

By default, this sets up the component to play the video full-screen for the default CameraA component which creates an image of a particular viewpoint in your scene. The output is either drawn to the screen or captured as a texture. More info
See in Glossary
. Press Play to view this.

Render an equirectangular video to a render texture

To render an equirectangular video to a render textureA special type of Texture that is created and updated at runtime. To use them, first create a new Render Texture and designate one of your Cameras to render into it. Then you can use the Render Texture in a Material just like a regular Texture. More info
See in Glossary
, you must change the default behavior of the video player. To do this, use the following steps:

  1. Go to Assets > Create > Rendering > Render Texture.
  2. Click on the new render texture. The InspectorA Unity window that displays information about the currently selected GameObject, asset or project settings, allowing you to inspect and edit the values. More info
    See in Glossary
    window shows.
  3. Set Size to match your video’s dimensions.
  4. Click on the object that contains the Video Player component. The Inspector window shows.
  5. Set Render Mode to Render Texture.
  6. Set Target Texture to your new render texture.
  7. If your video has the cubemap layout, consider these Alternative steps for videos with the cubemap layout.
  8. Enter Play mode to verify that this is functioning correctly.

The video doesn’t render in the Game window, but you can select the render texture asset to check its content updates with each video frame.

Note: Sometimes the asset preview fails to refresh automatically and doesn’t display the video’s content. To fix this you might need to force a UI update, for example move your mouse or click on a button.

Render a cubemap video to a render texture

If your video has a cubemap layout, you can render the video directly to a render texture cube instead of a 2D render texture. This is better for performance and is more suited to game engines.

To set this up:

  1. Go to Assets > Create > Rendering > Render Texture. This action creates a new render texture.
  2. Click on the new render texture. The Inspector window shows.
  3. Set Dimension to Cube.
  4. Set Size to be exactly the dimensions of the individual faces of the source video.
    • For example, if you have a 4 x 3 horizontal cross cubemap layout video with dimensions 4096 x 3072, set Size to 1024 x 1024 (4096 / 4 and 3072 / 3).
  5. Click on the object that contains the Video Player component. The Inspector window shows.
  6. Set Render Mode to Render Texture.
  7. Set Target Texture to your new render texture.

With this setup, the video player assumes that the source video contains a cube map in either a cross or a strip layout (which it uses the video aspect ratio to determine). The video player then fills out the render texture’s faces with the correct cube faces.

Project your video content onto an object

Once your video player contains your panoramic video as a render texture, you can display your video’s content on the surface of a GameObjectThe fundamental object in Unity scenes, which can represent characters, props, scenery, cameras, waypoints, and more. A GameObject’s functionality is defined by the Components attached to it. More info
See in Glossary
or skyboxA special type of Material used to represent skies. Usually six-sided. More info
See in Glossary
.

To display the content on a GameObject, drag your render texture onto the object. This creates a new material that contains the render texture as its texture. When the Video Player plays the video, it will display on the object.

For information on how to set a panoramic video as a skybox, refer to Set up a panoramic video as a skybox.

Additional resources


Did you find this page useful? Please give it a rating:

Introduction to panoramic videos
Set up a panoramic video as a skybox