質問: Unityに関する質問です。 本体側にスーパークラスとしてのScriptableObject(1とする)と、それを参照する機能を作ったとしたとき、1を継承したサブクラス(2とする)と、2のインスタンス(3)を、AssetBundleを用いて外部から読み込む仕組みを作りたいと思っています。しかし、その方法が分かりません。 2を本体側に用意して3だけをAssetBundleで読み込む場合は上手くいっていますが、2をDLL化してAssetBundleに入れても`The referenced script on this Behaviour (クラス名) is missing!` と警告が出て上手く行きませんでした。 --- 追記 ScriptableObjectに代わって、サブクラスとそのインスタンスをAssetBundleに含めることができる方法を探しています。 できればScriptableObjectに変換可能な方法が好ましいです。
回答: まず前提として、AssetBundleにアセンブリ情報は含まれていません。 アセンブリに紐付くGUIDと、シリアライズ情報のみが含まれておりDLLとは根本的に異なります。 質問内容のエラーですが、スクリプトをDLL化した時点でアセンブリ空間も変化するため アセットバントルに含まれるGUIDからアセンブリ情報が参照できないのでは?と推測します。 具体的なコードが無いので勝手に想像して回答しております。 見当違いな回答でしたらご放念下さい。