スクリプトを作成すると、原則として他のコンポーネントと同じようにゲームオブジェクトにアタッチできる、独自の新しいコンポーネントを作成できます。
インスペクターで編集可能なプロパティを持つ他のコンポーネントと同様に、自分で作成したスクリプトも、インスペクターから編集することでスクリプト中の変数の値を変更できます。
using UnityEngine;
using System.Collections;
public class MainPlayer : MonoBehaviour
{
public string myName;
// これを初期化に使用
void Start ()
{
Debug.Log("I am alive and my name is " + myName);
}
}
このコードは、インスペクター上では “My Name” と表示され、編集可能なテキストフィールドとなります。
インスペクターでは、変数名が一群のルールのいずれかに準拠している場合、スクリプトで定義したのとは異なる表示になる場合があります。
“iPad” や “x64” など、これらのルールが適用されない特殊なケースもあります。
Unity は、変数名に大文字がある場合、スペースを加えてインスペクターのラベルに表示します。これは表示のために使用されるだけなので、コード内では必ず通常の変数名を使う必要があります。名称を変更して 再生ボタンを押すと、入力したテキストを含むメッセージが表示されます。
C# を使うとき、インスペクターで変数を確認する最も簡単な方法は、変数を public として宣言することです。別の方法として、SerializeField を使用することもできます。逆に、HideInInspector を使えば、public 変数がインスペクターに表示されるのを防ぐことができます。
Unity ではゲームの実行中にスクリプト変数の値を変更できます。これは停止、再起動をせずに変更の結果をすぐ確認できるので、とても便利です。ゲームプレイを終えると、変数の値は 実行する前の値にリセットされます。これにより、取り返しのつかないミスを恐れる事無く、自由にオブジェクト設定を調整することが可能になります。