Unreal Engine 5(UE5)でBlueprintを使用している際に、「~は表示されるブループリント(BlueprintReadOnlyまたはBlueprintReadWrite)ではありません。これは将来のリリースでエラーとなるため、マークアップを修正するかアクセスを停止してください。」という警告が表示されることがあります。
このエラーは、Blueprintからアクセスできる変数や関数の可視性(アクセス修飾子)に問題がある場合に発生します。将来的にエラーとなる可能性があるため、適切な修正が必要です。
エラーの原因
このエラーが発生する主な原因は、変数や関数がBlueprintからアクセス可能でない状態になっていることです。具体的な要因としては以下が考えられます。
1. C++クラスで定義した変数にBlueprintReadOnlyまたはBlueprintReadWriteの指定がない。
2. 変数や関数の可視性がPrivateまたはProtectedになっている。
3. プロパティが適切に公開されていない。
解決方法
方法1:C++コードの修正
Blueprintでアクセス可能にするためには、対象の変数や関数に適切なマークアップを追加する必要があります。
例えば、以下のように修正します。
修正前
UPROPERTY() int32 MyValue;
修正後
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="MyCategory") int32 MyValue;
このように、BlueprintReadWriteを追加することで、Blueprintでアクセス可能になります。
方法2:関数の可視性を変更
関数をBlueprintから使用できるようにするには、BlueprintCallableやBlueprintPureを追加します。
例えば、以下のように定義します。
修正前
void MyFunction();
修正後
UFUNCTION(BlueprintCallable, Category="MyCategory") void MyFunction();
方法3:Blueprint側の設定を確認
Blueprintエディタ内で、対象の変数や関数が表示されない場合、以下を確認してください。
1. 「Class Settings」→「Class Defaults」で設定を確認する。
2. 変数の「Editable」フラグが有効になっているかチェックする。
3. Blueprintのリコンパイルを行う。
まとめ
UE5のBlueprintで発生する「~は表示されるブループリントではありません」というエラーは、変数や関数の可視性が適切に設定されていないことが原因です。
適切な修正を行うことで、将来的なエラーを防ぎ、スムーズな開発が可能になります。C++コードの修正、関数の公開設定の確認、Blueprintエディタ内の設定を見直し、適切に対応しましょう。