モバイル環境では以前書いた『Unity – MovieTextureはiOS、Androidでは使えない』のように使えないなどなにかと問題の多いMovieTextureについての注意点をまとめてみました。

まずは公式のマニュアルをご覧ください。

DesktopアプリではStreamingAssetsに動画ファイルを入れてはいけない

以下サイトの『Unity5でのムービーファイルの置き方』にあるようにStreamingAssetsに動画ファイルを置いては読み込めないようです。

Movie

公式マニュアルでは

プロジェクトディレクトリの StreamingAssets フォルダー内にビデオを格納する必要があります。

と書いてあったのでStreamingAssetsに入れていたのですが、よく見るとiOSのフルスクリーン時の置き場なんですね。もう少しわかりやすい見出しにしてもらいたいです。

iOS、Androidでは使えない

始めに書いたように使えません。詳しくは『Unity – MovieTextureはiOS、Androidでは使えない』をご覧ください。代替案としてはAsset StoreにあるEasy Movie Textureを使う方法があります。

外部ファイルの場合はoggのみ

WWW.movieのリファレンスにあるように外部ファイル読み込みできるのはogg形式のみになっています。せめてmp4を読み込み可能にしてもらいたいものです。しかし、次の説明にあるようにそもそも外部動画ファイルの読み込みができないのでどうしようもないです。

外部動画ファイルの読み込みができないバグがある

これはもう笑うしかないです(笑)当たり前にできるだろうと思っていることができないのがUnityです。Unity Issueの『[MOVIETEXTURE] FMOD ERROR WHEN TRYING TO PLAY VIDEO USING WWW CLASS』5.3.0f4からあるバグのようで2016.5.22現在まだ修正されていないようです。

代替案としては自分がやったことはUnityを使わず、AIRの動画再生アプリを作りUnityアプリの上にAIRを被せる形で対応しました。

QuickTimeが心配

上記のUnityのマニュアルでは

Windows 上でムービーがインポートされるためには QuickTime がインストールされていることが必要です

とありますが、2016/04/22のAppleの正式発表で

Apple では、QuickTime 7 for Windows のサポートを終了いたしました。

とあります。Windowsではセキュリテイの面からQuickTimeのアンインストールが推奨されていますのでQuickTimeに頼っているUnityはどういった対応をとるのか気になります。

最後に

サイネージアプリだと動画の再生が必須に近い形なので自分はUnity4のころからMovieTextureには相当苦しめられています。デスクトップアプリを作る場合は動画周りはUnityを使わずAIRなどを使うことをおすすめします。