Unity ⇄ Unreal Engine 用語対応＋語源まとめ 〜BlueprintやActorはなぜそう呼ばれるのか？〜

## はじめに

先日、 [Unity歴10年のエンジニアがUnreal Engineを学ぶときに戸惑ったこと](https://qiita.com/segur/items/5f9fed29462b098929d1)
という記事を投稿したところ、ありがたいことに多くの反響をいただきました。

中でも特に目立ったのが、**Unreal Engine（UE）とUnityの用語の違いに戸惑った**という共感の声です。
その後、Xで以下の投稿をしたところ、こちらも予想以上の反響があり、同じような悩みを持つ方々から多くの反応をいただきました。

https://x.com/segur_vita/status/1916357137413943333

こうした声を受けて本記事では、**Unityエンジニアの視点からUnreal Engineの用語対応表を作成**し、さらにその用語の**語源や背景**まで掘り下げていきたいと思います。

なお、私は以前「[Unity 用語の語源を調べてみた](https://qiita.com/segur/items/28d7c95276dbd8d831be)」という記事も書いており、
今回はその**Unreal Engine版**ともいえる位置づけです。

単なる「言い換え表」ではなく、「**なぜこの名前なのか？**」をたどることで、Unreal Engineの設計に込められた意図や思想に、少しでも近づけたらと思います。


## Unity ⇄ Unreal Engine 用語対応表

まずは、UnityとUnreal Engineで対応する主な用語を一覧で整理しました。
一見似ていても、背景にある設計思想や使い方には大きな違いがあることも多いため、簡単な補足も併記しています。

| Unity用語          | Unreal Engine用語         | 補足・違いの概要|
| ------------------ | ------------------------ | ----------------------------------------------- |
| `Scene`            | `Level`                  | オブジェクトを配置する「空間」という意味では、機能的に近い概念です。 |
| `Prefab`           | `Blueprint`              | PrefabはGameObjectとComponentの集合体、BlueprintはBlueprint ClassとComponentで構成され、用途や再利用の仕方に共通点があります。 |
| `GameObject`       | `Actor`                  | どちらもTransformを持ち、空間に配置される基本単位です。 |
| `Component`        | `Component`              | 名前と役割は似ていますが、UEでは階層構造の一部として扱われ、内部構成に違いがあります。 |
| `Rigidbody`        | `Physics Body`           | 物理挙動に関する要素です。 |
| `Collider`         | `Collision`              | 衝突判定のための機能です。 |
| `C#`               | `C++`                    | どちらもテキストベースのプログラミング言語に対応していますが、C#の方がとっつきやすい印象があります。 |
| `Visual Scripting` | `Blueprint EventGraph`| どちらもノードベースのスクリプティング機能を提供していますが、Blueprintの方がゲーム全体に深く統合された高度な仕組みという印象です。 |

:::note warn
この対応表は、Unityエンジニアとしての視点から観た概念レベルの比較です。厳密な一対一対応ではなく、理解の助けとしてご活用ください。
:::

「他にもこんな単語があるよ！」というご意見もあるかと思いますが、まずは私自身が実際に戸惑った・調べた範囲を中心に掲載しています！

なお、調査を進める中で、Unreal Engine公式様がすでに **Unityからの乗り換えガイド（用語対応表）** を提供していることに気付きました！

https://dev.epicgames.com/documentation/ja-jp/unreal-engine/unity-to-unreal-engine-overview

……本記事では、より言葉の語源や設計思想の違いにも注目して、さらに深掘りしていこうと思います！


## Scene / Level の語源と背景

### Unity：Scene（シーン）

Unityにおける `Scene` は、ゲーム内の1つの「舞台」や「場面」として機能します。
この用語はそのまま英語の *scene*（＝舞台の一幕）に由来しており、演劇や映画の「シーン」と同様、**視覚的・構成的な単位**として使われています。

Unityでは、Sceneごとにオブジェクトを配置し、複数のSceneを切り替えることでゲームを進行させるのが一般的です。
「シーン遷移」という言葉にもなじみのある方が多いのではないでしょうか。


### Unreal Engine：Level（レベル）

一方、Unreal Engineではこれに相当する概念を `Level` と呼びます。

この用語の語源は、古フランス語の **livel** に由来しており、もともとは建築で使われる「水平器」を指していました。
そこから「水平」という意味で英語に取り入れられ、さらに転じて「段階」「等級」といった意味へと派生していきます。

この単語は1970年代のテーブルトークRPG（TRPG）へ取り込まれ、「ダンジョンの階層」や「キャラクターの成長段階」を示す語として定着しました。
それが1980年代のビデオゲーム文化に受け継がれ、最終的にUnreal Engineにも繋がっていきます。

```mermaid
graph TD
    livel("【古フランス語】livel<br>水平器")
    horizontal("【14世紀英語】level<br>水平")
    degree("【15世紀】level<br>段階・等級")

    dungeon_level("【TRPG】level<br>ダンジョンの階層")
    character_level("【TRPG】level<br>キャラクターの成長段階")

    map_stage("【アクションゲーム】level<br>マップ・ステージ")
    rpg_level("【RPG】level<br>キャラクターの成長度")

    unreal_level("【Unreal Engine】level<br>ゲーム空間")

    livel --> horizontal
    horizontal --> degree
    degree --> dungeon_level
    degree --> character_level
    dungeon_level --> map_stage
    character_level --> rpg_level
    map_stage --> unreal_level
```

ちなみに、「経験値をためてレベルが上がるとHPや攻撃力が増える」といった成長システムを初めて導入したのは、1974年のテーブルトークRPG『**Dungeons & Dragons（D&D）**』だとされています。

興味深いのは、「マップ」という意味での level と、「成長度」を表す level の両方が、TRPGにルーツを持っているという点です！
今では当たり前となったゲーム用語が、当時のアナログゲーム文化から広がってきたというのは、非常に面白いですね。



## Prefab / Blueprint の語源と背景

### Unity：Prefab（プレハブ）

Unityにおける `Prefab` は、「再利用可能なオブジェクトのテンプレート」を表します。
複数の `GameObject` や `Component` をまとめて1つのまとまりとして保存し、他の場所でも同じ構成を複製・再利用できる仕組みです。

語源は英語の **pre-fabricated**（プレファブリケーテッド）＝「あらかじめ組み立てられた」に由来します。
これは建築業界で、**工場などであらかじめ部品を組み立てておき、現場で設置する方式**を指して使われていた言葉です。

その意味の通り、Prefabは「事前に設計された構成を、必要な場所で再利用する」ための仕組みであり、
Unityらしい**構造のシンプルさと汎用性の高さ**を象徴する存在と言えます。


### Unreal Engine：Blueprint（ブループリント）

Unreal Engineでは、Prefabに相当する仕組みとして `Blueprint`（正確には `Blueprint Class`）が存在します。

ただしBlueprintはオブジェクトのテンプレートというより、**見た目・構造・ロジックを一体化して定義する**というニュアンスが強い機能だと感じます。これは `blueprint` という英単語が「設計図」を意味することからも読み取れる気がします。

では、なぜ blueprint が「設計図」という意味になったのでしょうか？
調べたところ、どうやら **19世紀に使われていた「青焼き図面（blueprint）」** というコピー技術に由来があるようです。
これは、現代のコピー機のご先祖にあたる装置で、白黒の原稿を特殊な感光紙に複製すると、**白い部分が青く、黒い線は白くなる**という仕組みでした。

建築や設計の分野で広く使われたため、英語圏では **blueprint = 設計図** という意味が定着しました。

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221845/f879f19b-732c-43cf-83e3-a0b105a91480.png)|
|---|
|青焼き図面<br>画像出典：Wikipedia「[青図](https://ja.wikipedia.org/wiki/%E9%9D%92%E5%9B%B3)」 |

つまり、Unreal EngineのBlueprintは処理の「実装手段」というよりも「設計手段」として命名されたと考えられます。


## GameObject / Actor の語源と背景

### Unity：GameObject（ゲームオブジェクト）

Unityにおける `GameObject` は、シーン内の基本単位です。
3Dモデル、UI、カメラ、ライト、空のオブジェクト……すべてはGameObjectとして存在し、`Transform` を持つことで空間内に配置されます。

名前のとおり、「ゲーム中に存在するあらゆる**オブジェクト**」を表す、極めて汎用的で直感的な名前です。

ただし、機能そのものは `Component` によって拡張されるため、GameObject単体では**入れ物**のような存在とも言えます。


### Unreal Engine：Actor（アクター）

Unreal Engineでは、`Actor` がそれに相当する概念です。
Actorも `Transform` を持ち、レベル内に配置されることで空間内に存在します。

辞書的には「Actor＝俳優」ですが、UEでは目に見えるキャラクターだけでなく、**目に見えないロジックやトリガーまで「Actor」と呼びます。**
たとえば「エリアに入るとイベントが発生する」ような仕掛けを作る際も、Trigger Volumeなどの不可視オブジェクトがActorとして扱われます。

そもそも英語の `actor` という語には、「俳優」だけでなく **舞台上で役割を持つ存在** という意味もあるようです。
そのため、UEの `Actor` は、目に見えずとも **ゲーム世界の中で何らかのふるまい・役割を持つ存在** を表していると言えます。

これはUnityの `MonoBehaviour` にも通じる命名センスを感じますが、機能としてはUnityの `GameObject` の方が近いです。

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221845/b86f1183-5c50-4f87-bbe1-11af8a0ec5fe.png)|
|---|
|目に見えるCubeと目に見えないVolumeを並べた図。どちらもActor|


## おまけ：Unreal Engine の「Unreal」ってどういう意味？

Unreal Engineの名前の由来も調べてみました。
実は、1998年にEpic Games（当時Epic MegaGames）がリリースしたFPSゲーム『**Unreal**』が由来のようです！

このゲームは美麗なグラフィックスで話題を呼び、欧米で大ヒットを記録しました。
そして、そのゲームを制作するために社内で開発されたツール群が、後に「Unreal Engine」として独立して公開されるようになったのです。

|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221845/26d52431-a5c5-43f2-a11b-fa01856f4dfb.png)|
|---|
| 1998年ごろのUnrealEd（Unreal Editor）UI。<br>画像出典：Game Developerの記事より（Tim Sweeneyインタビュー）<br>https://www.gamedeveloper.com/design/classic-tools-retrospective-tim-sweeney-on-the-first-version-of-the-unreal-editor|

初期のUnreal Editor（通称：UnrealEd）は、なんと **Visual Basic製のUI** だったそうです。
「ゲームを作るために、エディターまで自作する」──その情熱が、現在のUnreal Engineの思想にも脈々と受け継がれているように感じます。


## まとめ

Unreal EngineとUnityは、どちらも素晴らしいゲームエンジンですが、用語の違いや設計思想の差によって、慣れないうちは戸惑うことも多いです。
私自身も、`Actor` や `Blueprint` といったUE特有の用語に大きな戸惑いを感じました。

そこでこの記事では、Unityエンジニアの視点から、**用語対応表**を整理し、さらにその用語の **語源や背景** にも注目してみました！

「なぜこの名前なのか？」という視点から用語を捉え直すことで、**より本質的な理解**につながるヒントになれば幸いです！


### さいごに

本記事作成にあたり以下のページを参考にさせていただきました。ありがとうございました。

- https://en.wiktionary.org/wiki/level
- https://www.reddit.com/r/etymology/comments/8ornsv/what_is_the_origin_of_level_to_denote_an_area_in/
- https://en.wikipedia.org/wiki/Dungeons_%26_Dragons
- https://ja.wikipedia.org/wiki/青図
- https://www.reddit.com/r/unrealengine/comments/1b7k90k/why_actor_for_class_name/
- https://www.gamedeveloper.com/design/tips-for-building-game-dev-tools-and-ux-from-ubisoft-s-david-lightbown