5.

UE5の「ブループリントランタイム エラー: "プロパティ ~ の読み取りを試行するためのアクセスはありません"」の解決方法

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!

Unreal Engine 5(UE5)でブループリントを使っていると、「プロパティ ~ の読み取りを試行するためのアクセスはありません」というランタイムエラーが発生することがあります。このエラーが発生すると、変数の値が取得できず、ゲームの動作が停止することがあります。

エラーの原因

このエラーの主な原因は以下の通りです。

1. オブジェクト参照が無効(NULL)になっている

- 変数に格納されたオブジェクトが存在しない、または初期化されていない場合、アクセスしようとするとエラーが発生します。

2. オブジェクトの所有権が切れている

- 例えば、ゲームプレイ中にDestroyされたオブジェクトにアクセスしようとすると、参照が無効になってしまいます。

3. 変数が正しく設定されていない

- ブループリントで変数の値が正しく設定されていない、またはデフォルト値がNULLのままになっていることがあります。

解決方法

このエラーを解決するために、以下の手順を試してください。

1. 変数がNULLでないか確認する

- 「Is Valid」ノードを使用して、オブジェクトがNULLでないことを確認してからアクセスする。

2. オブジェクトの所有権を確認する

- 「Get Owner」ノードを使って、オブジェクトが正しく所有されているかチェックする。

3. 適切なタイミングで変数を設定する

- コンストラクタやBegin Playのタイミングで値がセットされているか確認し、必要なら「Delay」ノードを使って適切なタイミングで変数をセットする。

まとめ

「プロパティ ~ の読み取りを試行するためのアクセスはありません」というエラーは、主にオブジェクト参照が無効であることが原因です。エラーを回避するためには、NULLチェックを徹底し、オブジェクトのライフサイクルを適切に管理することが重要です。ブループリントで「Is Valid」ノードを活用し、正しいタイミングで変数をセットするようにしましょう。

この方法を試せば、エラーを防ぐことができるはずです。UE5の開発をスムーズに進めるために、ぜひ実践してみてください!

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
  1. SetInputMode_UIOnlyは、'PlayerController'ターゲットとして有効なプレイヤーコントローラーを想定しています
  2. 無限ループが検出されました
  3. ~は表示されるブループリント(BlueprintReadOnlyまたはBlueprintReadWrite)ではありません。これは将来のリリースでエラーとなるため、マークアップを修正するかアクセスを停止してください。
  4. 古いHLODアクタを検出、HLODをリビルドする必要があります
  5. ブループリントランタイム エラー: "プロパティ ~ の読み取りを試行するためのアクセスはありません"
  6. 「AI Move To」が「Aborted」で失敗
  7. 「AI Move To」が「Blocked」で失敗