Importerの使い方をまとめました。以下のように意味を持たないDefaultAssetとなります。DefaultAssetScriptedImporterを使うと、Unityが対応していない拡張子のファイルがインポートされたときに独自の処理を書いてアセットを作成することができます。Importerは長らくExperimentalでしたが、マニュアルを見る限りUnity2020.2でExperimentalではなくなっています。docs.unity3d.com簡単なサンプル(公式サンプル)ScriptedImporterの挙動を理解するためにまずは簡単なサンプルを動かしてみます。以下はマニュアルにある公式のサンプルを少し変更してコメントを加えたものです。}}このインポーターは以下の処理を行います。拡張子が「.cube」のアセットに対して処理を行うファイルに記述されたJsonをVector3に変換し、それを座標として設定したPrefabを生成MeshにはCubeを設定し、スタンダードシェーダをアサインしたマテリアルを設定スケールはInspectorから設定できるようにこれを使用するためには以下のような内容のファイルを.cube拡張子で作成します。{"x":1,"y":1,"z":1}このファイルをUnityにインポートすると以下のようなアセットが出来上がります。インポート結果このアセットは普通のPrefabと同じように取り扱うことができます。サブアセットを差し替えるためのリマップ機能リマップ機能を使うと、インポートしたアセットのサブアセットを、同じ型の外部のアセットにリマッピングできます。Importerのマテリアルを上書きする設定のようなことが実現できます。リマッピングするには以下のようにAsseImporter.AddRemap()を使用します。ImportAssetOptions.ForceUpdate);さらにインポート処理をする側でもリマップされたオブジェクトを取得して明示的に処理する必要があります。AddRemapされたオブジェクトの情報はGetExternalObjectMap()で取得できます。Importerでインポートしたアセットには他のアセットとの依存関係を設定できます。以下ではこの方法についてまとめます。他のAssetへの依存を設定する他のアセットへの依存を設定するにはAssetImportContext.DependsOnSourceAsset()を使います。以下のように設定すれば、otherAssetPathのアセットが更新されたときに自身がリインポートされます。複数登録することも可能です。ctx.DependsOnSourceAsset(otherAssetPath);またAssetImportContext.DependsOnArtifact()というメソッドもあります。docs.unity3d.com独自の依存関係を定義するまた、AssetImportContext.DependsOnCustomDependency()を使用すると独自に依存関係を定義できます。以下のように任意のタイミングで依存しているすべてのアセットをリインポートできます。}}インスペクタ拡張方法インスペクタを拡張するにはScriptedImporterEditorを継承したクラスを作成します。}}プラットフォーム毎にインポート処理を分けるプラットフォーム毎にインポート処理を分けるにはAssetImportContext.selectedBuildTargetを使います。Androidだけの処理}インポートエラー・警告エラーログを出力するにはAssetImportContext.LogImportError()を使います。警告にはAssetImportContext.LogImportWarning()を使います。1はてなブログをはじめよう!halya_11さんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。