# VideoCodec

> Choose the video codec to use to import video clips.

## Definition

* **Type:** Enum
* **Namespace:** [UnityEditor](/engine/6000.7/script-reference/unityeditor.md)
* **Assembly:** UnityEditor

```csharp
public enum VideoCodec
```

## Remarks

Use this enum to set [VideoImporterTargetSettings.codec](/engine/6000.7/script-reference/unityeditor/videoimportertargetsettings/codec.md).

A video codec compresses (encodes) or decompresses (decodes) video data to reduce the file size but avoid reduction of quality as much as possible. For Unity to consider the video codec when it imports a video, make sure to enable the **Transcoding** property in the video clip’s **Inspector** window. For more information about video encoding, refer to [Video encoding compatibility reference](/engine/6000.7/manual/video/sources/encoding-compatibility.md).

## Examples

```csharp
// This script creates an Editor menu option that reimports a video with your preferred video codec (Auto is default). 
// Put this script in your <b>Assets</b>><b>Editor</b> folder. If you don't have an Editor folder, create your own.  
// In the script, change the videoPath to a video file in your project. Save the script. 
// In the menu, go to <b>Tools</b> and select <b>Change video codec settings</b>.
// The video reimports with the new video codec. 

using UnityEngine;
using UnityEditor;

public class VideoImportSettingsEditor : MonoBehaviour
{

    [MenuItem("Tools/Change video codec settings")]
    static void SetVideoImporterSettings()
    {
        // Path to the video file in your project. Change the path to suit your own project. 
        string videoPath = "Assets/YourVideo.mp4";
        // Change this to your preferred video codec. 
        VideoCodec preferredCodec = VideoCodec.Auto; 

        // Get the VideoClipImporter for the video file
        VideoClipImporter importer = AssetImporter.GetAtPath(videoPath) as VideoClipImporter;

        if (importer != null)
        {
            VideoImporterTargetSettings defaultSettings = importer.defaultTargetSettings;
            // Set the video codec to your chosen video codec.
            defaultSettings.codec = preferredCodec;

            // Apply the updated settings for standalone. 
            importer.SetTargetSettings("Standalone", defaultSettings);

            // Re-import the video file. 
            importer.SaveAndReimport();

            Debug.Log($"Updated video importer settings for: {videoPath}");
        }
        else
        {
            Debug.LogError($"Failed to find VideoClipImporter for the path: {videoPath}");
        }
    }
}
```

## Fields

| Value                                                                  | Description                                                              |
| ---------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| [Auto](/engine/6000.7/script-reference/unityeditor/videocodec/auto.md) | Choose the codec that supports hardware decoding on the target platform. |
| [H264](/engine/6000.7/script-reference/unityeditor/videocodec/h264.md) | Encode video with the H.264 codec.                                       |
| [H265](/engine/6000.7/script-reference/unityeditor/videocodec/h265.md) | Encode video with the H.265 codec.                                       |
| [VP8](/engine/6000.7/script-reference/unityeditor/videocodec/vp8.md)   | Encode video using the vp8 codec.                                        |
