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.