環境
- Unity 2022.3.4f1
- Addressables 1.21.21
状況
NPCユニットの挙動をスクリプトで記述できるようにしたかったので、サンプルが簡単そうだったJint(JavaScriptインタプリタ)を導入しました。
が、なぜか.jsファイルのみインスペクタにAddressablesのチェックボックスが現れません。Addressablesウィンドウにドラッグアンドドロップでも登録させてくれません。
TextAssetとして認識させる必要があるのか?と思いScriptedImporterを使用してTextAssetとして読み込んでも許してくれません。どうして……。
しょうがないので大量のDebug.Logを抱えて原因究明の旅に出ました1。
原因
AddressableAssetUtility.cs
// 99行目
static HashSet<string> excludedExtensions = new HashSet<string>(new string[] { ".cs", ".js", ".boo", ".exe", ".dll", ".meta", ".preset", ".asmdef" });
名指しで弾かれてました。
隣に『.boo』も並んでいるので、おそらくはUnityScriptが使えたころの名残かな(詳しくは知りませんが……)。
解決策
Addressablesパッケージを丸々コピーして1行だけ差し替えました。
1行書き換えるために突如10MB弱跳ね上がったリポジトリサイズの変貌に涙を禁じ得ない。
-
拡張子を.txtやらなんやらに変えればいい話ではありますが、シンタックスハイライトなしでコードを書くのも苦痛なので ↩