初歩的な質問ですみません。似たような質問・回答を見ましたが原因がわからないので質問させていただきます。
C++のクラスをブループリント上で変数として定義し、関数を呼び出したいです。
実際にC++でAActorを継承したクラスをブループリントの変数(オブジェクト参照)として宣言し、
ブループリントから関数を呼び出したところ、このエラーが出ました。
UnrealEditorを再起動すると一時的に直り、何度かプレイするとまた同じエラーが出るようになります。
最小限の構成で確認するため、新規プロジェクトで作成し、他にアクタなどは配置していません。
https://dotup.org/uploda/dotup.org2569022.png
エラー内容:
ブループリントランタイム エラー:“プロパティ ActorArg の読み取りを試行するためのアクセスはありません”。 ブループリント: BP_Test 関数: Execute Ubergraph BP Test グラフ: EventGraph ノード: Log Test
MyActor.h
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "MyActor.generated.h"
UCLASS()
class AMyActor : public AActor
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
AMyActor();
UFUNCTION(BlueprintCallable)
void LogTest();
};
MyActor.cpp
// Fill out your copyright notice in the Description page of Project Settings.
#include "MyActor.h"
// Sets default values
AMyActor::AMyActor()
{
// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = false;
}
void AMyActor::LogTest()
{
UE_LOG(LogTemp, Log, TEXT("log test!"));
}