UPROPERTY のプロパティ指定子をランタイムで Transient に変更してみた

More than 3 years have passed since last update.

プロパティ ACharacter::Mesh::SkeletalMesh にプロパティ指定子 Transient を付加したい場合が出てきたので調べてみたところ、以下の方法で出来ました。

AMyCharacter::AMyCharacter()

{
UClass* Class = GetMesh()->GetClass();
UProperty* Property = Class->FindPropertyByName(TEXT("SkeletalMesh"));
if (IsValid(Property))
{
Property->SetPropertyFlags(CPF_Transient);
}
}

今回試したのは Transient だけですが、他のプロパティ指定子もできるかもしれません。