詳細ウインドウ周り
アクセス権系の属性
- 属性毎のアクセス出来る範囲
レベルエディター:閲覧 | レベルエディター:編集 | ブループリントエディター等:閲覧 | ブループリントエディター等:編集 | |
---|---|---|---|---|
EditAnywhere | ○ | ○ | ○ | ○ |
EditDefaultsOnly | × | × | ○ | ○ |
EditInstanceOnly | ○ | ○ | × | × |
VisibleAnywhere | ○ | × | ○ | × |
VisibleDefaultsOnly | × | × | ○ | × |
VisibleInstanceOnly | ○ | × | × | × |
- 実行結果
PropertyActor.h
// 見づらいので他のカテゴリは非表示
UCLASS(HideCategories = (Actor, Input, Rendering, Replication, ActorTick, Transform))
class TESTCPP_API APropertyActor : public AActor
{
GENERATED_BODY()
public: // Edit系
UPROPERTY(EditAnywhere, Category = "Edit")
int32 EditAnywhere;
UPROPERTY(EditDefaultsOnly, Category = "Edit")
int32 EditDefaultsOnly;
UPROPERTY(EditInstanceOnly, Category = "Edit")
int32 EditInstanceOnly;
public: // Visible系
UPROPERTY(VisibleAnywhere, Category = "Visible")
int32 VisibleAnywhere;
UPROPERTY(VisibleDefaultsOnly, Category = "Visible")
int32 VisibleDefaultsOnly;
UPROPERTY(VisibleInstanceOnly, Category = "Visible")
int32 VisibleInstanceOnly;
// (以下省略
その他
AdvancedDisplay
カテゴリの下に詳細設定として隠す事が出来ます
UPROPERTY(EditAnywhere, AdvancedDisplay, Category = "AdvancedDisplay")
int32 AdvancedDisplay;
EditFixedSize
配列の要素数を変更を禁止します。
UPROPERTY(EditAnywhere, EditFixedSize, Category = "EditFixedSize")
TArray<FName> EditFixedSize;
UPROPERTY(EditAnywhere, Category = "EditFixedSize")
TArray<FName> NoEditFixedSize;
Instanced(EditInlineは非推奨です)
インスタンス+変数値を入れる事が出来ます。
対象のクラスにはUCLASS(EditInlineNew)をつけるようにしてください。
SampleObject.h
UCLASS(EditInlineNew)
class モジュール名_API USampleObject : public UObject
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, Category="Variable")
int32 Variable;
};
UPROPERTY(EditAnywhere, Instanced, Category = "Instanced")
USampleObject* Instanced;
条件付
「meta = (EditCondition = 変数名)」で条件付きの変数を作る事が出来ます
UPROPERTY(EditAnywhere, Category = "Condition", meta = (EditCondition = bEditCondition))
int32 EditConditionVariable;
UPROPERTY()
bool bEditCondition;
ブループリント関連
ブループリントアクセス権限
UPROPERTY(BlueprintReadOnly, Category = "Variable|Blueprint")
int32 BlueprintReadOnly; // Getのみ公開
UPROPERTY(BlueprintReadWrite, Category = "Variable|Blueprint")
int32 BlueprintReadWrite; // Get・Set両方公開
スポーン時に公開
UPROPERTY(BlueprintReadWrite, Category = "Variable", Meta = (ExposeOnSpawn = true))
FVector Location;
その他
Show 3D Widget
Meta = (MakeEditWidget = true)を有効にすることで「3Dウィジェットを表示する」が有効になります
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Variable", Meta = (MakeEditWidget = true))
FVector Location;