🎮
「UnrealEngine」アクターコンポーネントのDetailsに何も映らない
発生した問題
- UEで自作のActorComponentをコンストラクタから追加したが、エディターのDetailsに何も表示されない。
原因
- 変数宣言時に UPROPERTY(EditAnywhere) を付けていない。
//ダメな例
void ATestCharacterBase::ATestCharacterBase()
{
//単純にコンポーネントを追加しただけだと、Detailsに何も映らない!!!!!
CreateDefaultSubobject<UMyActorComponent>(FName(TEXT("MyActorComponent")));
}
解決方法
//ATestCharacterBase.h
UCLASS()
class PROJECT_NAME_API ATestCharacterBase : public ACharacter
{
GENERATED_BODY()
public:
void ATestCharacterBase();
//...
protected:
//...
UPROPERTY(EditAnywhere) //EditAnywhereをつけないと表示されない!!!!!!!!!!
TObjectPtr<class UMyActorComponent> Comp = nullptr;
public:
//...
};
//ATestCharacterBase.cpp
void ATestCharacterBase::ATestCharacterBase()
{
Comp = CreateDefaultSubobject<UMyActorComponent>(FName(TEXT("MyActorComponent")));
}
Discussion