Video won't play in exported game?

I’m having an issue with an exported game, which persists in builds for the web, MacOSX, and Windows 7. The game consists of 4 scenes, one of which plays a video (opening cinematic)and another which plays a video on a TV screen in the level. The cinematic plays but the video on the TV screen does not.

HOWEVER, the video plays normally when I play the game through the Unity editor.

So what gives?


Unless there is some scripting interdependency (for example, since execution orders of all Start() resp. Update() etc. are unpredictable, they are known to sometimes behave differently in Editor vs. build), which we can’t say since we don’t know how you control/start/reset your movies, another possibility is a problem with the video itself.

You can try to convert your videos yourself into a format that can be played natively by Unity (which is Ogg Theora), instead of relying on Unity to convert it. This way you also have more control over the resulting quality. Use ffmpeg2theora to convert your movie.

Oh, another idea: Even if it’s an asset, it might not get included into the build. Is the screen black, or do you see the correct first frame and it just isn’t playing? Do you have your videos referenced in your scene in the Inspector (on an object, in a material, …), or do you assign the video via script? If the latter, it’s possible it doesn’t get included (check the output log after running a build, it should mention an exception or an error). Prevent this by placing your video asset inside a folder named “Resources”.

(EDIT: woops, you did mention they are placed on a material. So you can probably ignore my last paragraph)

I got it to work. I realized that the video file was assigned to an object that had 2 textures on it from child objects (one for the screen and one for the box). I assume that because I was simply assigning the video to play from the main texture of the parent, the build was not including it but still played in the Builder. My solution was simply to pop a new plane of the TV screen and apply the movie texture to it.

I feel so silly :stuck_out_tongue:

Thanks for the help!