GameObject (ゲームオブジェクト) は、Unity でもっとも重要な概念です。
ゲーム内のすべてのオブジェクトは、キャラクター、アイテムからライト、カメラ、特殊効果まで、すべてが ゲームオブジェクト です。 ただし、ゲームオブジェクトは単独では何もできません。それをキャラクター、環境、特殊効果などにするには、プロパティを与える必要があります。
ゲームオブジェクト はキャラクター、小道具、背景などを表す Unity の基礎となるオブジェクトです。GameObject 自体の機能は多くありませんが、機能を実装する Component (コンポーネント) のコンテナのように扱えます。
ゲームオブジェクトがライト、ツリー、カメラなどになるのに必要なプロパティを与えるためには、コンポーネント を加えなければなりません。どのような種類のオブジェクトを作成したいかによって、異なる組み合わせのコンポーネントをゲームオブジェクトに加えます。
Unity には様々な種類のコンポーネントが内蔵されていますが、Unity スクリプティング API を使って独自のコンポーネントを作ることもできます。
例えば、ライトオブジェクトはゲームオブジェクトに Light コンポーネントをアタッチすることで作成されます。
キューブオブジェクトは、キューブの表面を描くための Mesh Filter と Mesh Renderer コンポーネント、オブジェクトの容積を示す Box Collider コンポーネントで構成されています。
ゲームオブジェクトは常に Transformコンポーネント(位置と回転を表すもの)がアタッチされており、Transform は削除することができません。他のコンポーネントはエディター上の Component メニューやスクリプトからオブジェクトにアタッチすることができます。GameObject > 3D Object から、Unity が事前に用意したオブジェクト(プリミティブなオブジェクト、カメラなど)を扱うことができます。詳しくは プリミティブとプレースホルダーオブジェクトを参照してください。
事前に用意された多くのオブジェクト(プリミティブの球体、カメラなど)があり、それらの広範囲な詳細のマニュアルが用意されています。GameObject スクリプティングリファレンスではスクリプトからゲームオブジェクトを制御する方法を見つけることができます。