【UE5】構造体を活用!データ管理を効率化【ゲーム開発】

※本記事はUE5.5.3時点の内容になります
構造体(Structure) は、複数の異なるデータ型を一つにまとめて管理するためのデータ型です。
C++やブループリントなど、多くのプログラミング言語で使われている基本的なデータ構造です。
Unreal Engineでは、構造体を使って異なるタイプの変数を一つのまとまりとして扱い、複雑なデータを効率よく管理できます。
例えば、キャラクターのステータス情報(HP、MP、攻撃力など)を一つの構造体にまとめることで、複数の変数を管理しやすくなります。
構造体の基本的な使い方

構造体は複数の異なる型の変数を一つにまとめる役割を持ちます。
例えば、キャラクターのステータスを一つの構造体にまとめることができます。
例:キャラクターのステータス
キャラクターのHPや攻撃力、MPなどを構造体にまとめて、必要なときに一度に取り扱うことができます。
構造体の定義方法(Blueprint)
- コンテンツブラウザで右クリック → Blueprint Class → Structure を選択。
- 名前を付けて構造体を作成。
- 構造体を開くと、「Add Variable」を押して、構造体の中に含めたいデータを追加。
- 例えば、HP(整数型)、攻撃力(浮動小数点型)、MP(整数型)など。

構造体の使用方法(Blueprint)
- 構造体を作成したら、Blueprint内でその構造体を使うために変数を使います。
- 変数の型を構造体にして使用することで、構造体内のデータを簡単にセットできます。
- 構造体の値を取得するためには、「Break Struct」ノードを使用します。

Set Member in Structノード
・構造体の値を変更するために使用します。
使い方
1.既存の構造体のインスタンスを受け取って、その中のメンバーの一部を変更する。
2.フィールドを個別に変更でき、他のフィールドはそのまま残すことができます。
構造体を使うメリット
構造体を使うと、次のようなメリットがあります
✅データの整理
- 構造体を使うことで、関連するデータ(例えば、キャラクターのHPやMP)を一つのまとまりとして管理できる。
- 複数の変数を個別に扱う必要がなく、コードの見通しが良くなる。
✅拡張性
- 構造体は、後から簡単に新しい変数を追加できるので、ゲームの進行に応じてステータス項目を増やすことができます。
✅一貫性
- 例えば、キャラクターのステータス情報を複数の場所で使用する場合、構造体を使えば一貫性を保ちながら管理できる。
応用についての話
・ゲーム内のインベントリ管理
インベントリ内のアイテムを構造体で管理することで、アイテム名、数量、アイテムIDなどを一つのオブジェクトとして保持できます。
・複雑なデータのグループ化
ゲームのクエストやNPCのデータも構造体で管理できます。
例えば、NPCの名前、レベル、クエスト進行状況、報酬などをまとめて一つの構造体にすることで、管理が簡単になります。
※注意点
構造体をポインタとして扱う場合には、ポインタが無効になっていないか確認することが重要です。
まとめ
構造体の特徴 | ポイント |
---|---|
まとめて管理 | 異なる型の変数を一つにまとめて管理 |
後からの拡張 | 変数を後から追加しやすい |
データの一貫性 | 複数個所でデータの整合性を保つ |
利用例 | ステータス、インベントリ、NPCのデータなど |
構造体は、ゲーム開発における複雑なデータの取り扱いに非常に役立つツールです。
構造体を使って、より整理されたコードを作成し、効率的にデータを管理できるようになります。