【Unity入門】コンポーネントとは?英語の意味から理解しよう
Unityを学び始めると、すぐに「コンポーネント」という言葉に出会います。
- Inspectorに並んでいる項目
- 「Add Component」ボタン
GetComponentというコード
日常会話ではあまり使わない言葉なので、「Unity独自の専門用語なのかな?」と感じる方も多いと思います。
実は、コンポーネントはUnity専用の言葉ではありません。英語の一般的な単語で、IT以外の分野でも広く使われています。この記事では、まず言葉の意味を確認し、そのうえでUnityでの使われ方を整理します。
componentの本来の意味
英語の component は、「構成要素」「全体を構成する一部分」という意味です。
| 分野 | コンポーネントの例 |
|---|---|
| 自動車 | エンジンやブレーキなど、車を構成するもの |
| パソコン | CPUやメモリなど、パソコンを構成するもの |
| 電子回路 | 抵抗やコンデンサなど、回路を構成する電子素子 |
| ソフトウェア | 特定の機能を受け持つ、プログラムのまとまり |
| Unity | GameObjectに機能やデータを追加するもの |
日本語の日常会話ではあまり使いませんが、IT・電子機器・製造業などの技術分野ではよく登場します。Unityで使われている意味も、この一般的な意味とほぼ同じです。
Unityでのコンポーネントとは
Unityでは、シーンに置くものはすべて GameObject です。ただし、GameObject自体は「空の入れ物」にすぎません。そこにコンポーネントを取り付けることで、位置や見た目、動きなどの機能を持たせます。

たとえば「プレイヤー」というGameObjectには、次のようなコンポーネントが付いています。
| コンポーネント | 役割 |
|---|---|
Transform | 位置・回転・大きさ |
Rigidbody | 物理的な動き(重力、力の影響など) |
Collider | 衝突判定に使う形 |
AudioSource | 音の再生 |
自動車がエンジンやブレーキなどで構成されているように、UnityのGameObjectも、複数のコンポーネントを組み合わせて作られています。なお、Transform はすべてのGameObjectに必ず付いているコンポーネントです。
組み合わせて作れるのが強み
この「必要な機能を組み合わせる」という考え方には、大きな利点があります。
- 必要な機能だけを追加できる
- 不要になったら取り外せる
- 同じコンポーネントを別のGameObjectにも使い回せる
たとえば「物理演算で動く箱」を作りたければ、箱のGameObjectに Rigidbody と Collider を付けるだけです。「動かない壁」にしたければ、Collider だけを付ければ済みます。
自作のスクリプトもコンポーネント
C#で書いたスクリプトも、GameObjectに取り付けるとコンポーネントとして扱われます。MonoBehaviour を継承したクラスが、それにあたります。
using UnityEngine;
public class PlayerJump : MonoBehaviour
{
private Rigidbody rb;
void Start()
{
// 同じGameObjectに付いているRigidbodyコンポーネントを取得する
rb = GetComponent<Rigidbody>();
// 上向きに力を加える(再生すると、一度だけ跳ね上がる)
rb.AddForce(Vector3.up * 5f, ForceMode.Impulse);
}
}
GetComponent<Rigidbody>() は、直訳すると「Rigidbodyというコンポーネントを取得する」という意味です。componentが「構成要素」だと分かっていれば、メソッド名の意味もすっと頭に入ります。
このスクリプトを、Rigidbody が付いたGameObjectに取り付けて再生すると、そのGameObjectが一度だけ跳ね上がります。
Webの世界にも出てくる言葉
コンポーネントという言葉は、Unity以外のIT分野でもよく使われます。たとえばWeb開発の「UIコンポーネント」は、ボタンやフォームなど、画面を構成する要素のことです。
最初に「構成要素」という意味を押さえておけば、別の技術を学ぶときにも、言葉で迷いにくくなります。
まとめ
- コンポーネントは、英語で「構成要素」という意味の一般的な単語
- Unityでは、GameObjectに機能やデータを持たせるために取り付けるものを指す
Transform、Rigidbody、Colliderなどの標準のコンポーネントも、自作スクリプトもコンポーネント- 機能を組み合わせて作る考え方は、Unity以外のIT分野にも共通する
専門用語に出会ったときは、「もともとの英語はどんな意味か?」と考えてみると、理解が早くなります。










ディスカッション
コメント一覧
まだ、コメントがありません