Quick answer: Import as VideoClip with TranscodeFromOriginal = true (H264). Include in AssetBundle. Load via VideoClip reference.

Cutscene MP4 bundled. Fails to play in target build. Bundle had file but VideoClip wasn’t marked transcoded.

The Fix

VideoClip import settings:
  Transcode From Original:    true
  Codec:                       H264
  Quality:                     Medium

AssetBundle build:
  Include the .mp4 (now treated as VideoClip)

C# load:
var req = bundle.LoadAssetAsync<VideoClip>("cutscene.mp4");
yield return req;
videoPlayer.clip = (VideoClip)req.asset;
videoPlayer.Play();

Transcode embeds the video as engine-managed asset. Bundle picks it up; runtime plays via VideoClip ref.

Verifying

Bundle loads, video plays. Without transcode: no clip; player silent.

“Transcode. Bundle. Play.”

Related Issues

For AssetBundle encryption, see encryption. For AssetBundle stutter, see stutter.

Transcode. Plays in build.