Visual Scripting でカスタム型を使用する
Visual Scripting は Unity で使用可能な全てのクラスおよび構造体の型をサポートしています。デフォルトでは、最も一般的なものがファジーファインダーから使用できます。カスタムの型やクラスを含む追加的な Unity アセンブリは、Visual Scripting の Project Settings から追加できます。
グラフ内でカスタムの型やクラスを使用するには、追加的なコードの記述が必要な場合があります。この追加的なコードが提供されていないと、カスタム型の変数に Inspector から値を割り当てたり、それを Unity エディター内から初期化することができません。
カスタム型のソースコードへのアクセス状況に応じて、以下の 2 つのいずれかの方法で、変数の割り当てと初期化を行えるようにしてください。
- ソースコードにアクセスできる場合は、エディターで表示および編集したいクラスとフィールドに
[Inspectable]
属性を追加できます。 - ソースコードにアクセスできない場合は、カスタムの PropertyDrawer を作成して、必要なプロパティプロバイダースクリプトを再生成する必要があります。
[Inspectable] 属性を追加する
[Inspectable]
属性をカスタムクラスのコードに追加すると、その使用可能なプロパティが Unity によって Inspector に表示されます。
Unity によって、その型用の基本的な UI が Inspector に提供されますが、この見た目は必ずしも理想的ではないかもしれません。あなた (あるいはあなたのユーザー) が、例えばスライダーを使ってカスタム型のプロパティを設定したい場合は、[Inspectable]
属性を使用する方法は避けてください。
カスタムの PropertyDrawer を作成する
カスタムの PropertyDrawer を作成した場合、各プロパティを Inspector でどのように表示するかを選択できます。
ソースコードにアクセスできない場合、Visual Scripting でカスタム型の変数とインタラクトする唯一の方法は、PropertyDrawer を作成することです。例えば、サードパーティ製のパッケージに含まれる型の使用を試みた際に Unity エディターの Inspector ウィンドウ内にエラーが表示された場合、エラーを解決するためにはカスタムの PropertyDrawer を作成する必要があります。
Note
あなたがパッケージ開発者の場合、あるいは他のユーザーにカスタムクラスやカスタム型を提供する予定で、それらを Visual Scripting で使用できるようにしたい場合、ユーザーにとって最良の結果を得るために、カスタムの PropertyDrawer の作成を検討してください。
カスタムの PropertyDrawer の作成に関する詳細は、カスタム変数型用にカスタム PropertyDrawer を作成する を参照してください。
カスタム型にカスタム PropertyDrawer が使用できるようになったら、Visual Scripting の Project Settings から、必要なプロパティプロバイダースクリプトを再生成する必要があります。詳細は、Visual Scripting のプロジェクト設定 にある Generate オプションの説明を参照してください。