【Unity】AssetBundle名とAssetBundleのフォルダ名がかぶるとエラーになるよという話

AssetBundle名とAssetBundleのフォルダ名がかぶるとエラーになるよという話です。

問題点

例として、いま二つのテクスチャに次のようにAssetBundle名を付けたとします。

テクスチャ名 AssetBundle名
tex_a texture01
tex_b texture01/texture

このAssetBundleをビルドしようとするとCannot create folderというエラーが出てビルドが失敗します。

f:id:halya_11:20190528225606p:plain

原因と解決策

このエラーの原因は、AssetBundle名と同じフォルダ名が定義されているためです。
Unityに限らず、同名のファイル名とフォルダを同じ場所に作ることはできません。
Windowsでそのような操作をしようとすると以下のようなエラーウィンドウが出ます。

f:id:halya_11:20190528225614p:plain

前節の例では、tex_aのAssetBundle名であるtexture01とtex_bのAssetBundleのフォルダtexture01が被っているためエラーが生じています。

解決策としてはフォルダ名とAssetBundle名を被らないようにするか、AssetBundle名に任意の拡張子をつけると良さそうです。