Class VariablesとLocal Variablesの概要
Blueprintで変数を定義する方法は、大きく分けて2つあります。
- Class Variables (クラス変数 / メンバ変数): Blueprintの「Variables」パネルで作成する変数。
- Local Variables (ローカル変数): 関数やイベントグラフの内部でのみ作成できる変数。
この2つの違いを理解せず、すべてをClass Variablesとして定義してしまうと、Blueprintが肥大化し、意図しないバグが発生しやすくなります。本記事では、これら2種類の変数の役割と正しい使い分けの原則を解説します。
Sponsored
Class VariablesとLocal Variablesの特性
まずは、それぞれの変数が持つ特性と役割を明確に理解しましょう。
Class Variables (クラス変数 / メンバ変数)
| 特性 | 説明 |
|---|---|
| 定義場所 | Blueprintエディタの「Variables」パネル |
| スコープ | Blueprintインスタンス全体 |
| ライフサイクル | Blueprintインスタンスの生成から破棄まで値が保持される |
| アクセス | Blueprint内のすべての関数、イベント、グラフからアクセス・変更が可能。外部のBlueprintからもアクセス可能(Public設定時) |
| 主な用途 | オブジェクトの状態(ステート)、設定値、永続的な参照 |
Class Variables は、そのBlueprint(オブジェクト)が「今どのような状態にあるか」を定義するために使われます。例えば、プレイヤーキャラクターのHP、