EPropertyFlags

Syntax

enum EPropertyFlags
{
    CPF_None                              = 0,
    CPF_Edit                              = 0x0000000000000001,
    CPF_ConstParm                         = 0x0000000000000002,
    CPF_BlueprintVisible                  = 0x0000000000000004,
    CPF_ExportObject                      = 0x0000000000000008,
    CPF_BlueprintReadOnly                 = 0x0000000000000010,
    CPF_Net                               = 0x0000000000000020,
    CPF_EditFixedSize                     = 0x0000000000000040,
    CPF_Parm                              = 0x0000000000000080,
    CPF_OutParm                           = 0x0000000000000100,
    CPF_ZeroConstructor                   = 0x0000000000000200,
    CPF_ReturnParm                        = 0x0000000000000400,
    CPF_DisableEditOnTemplate             = 0x0000000000000800,
    CPF_Transient                         = 0x0000000000002000,
    CPF_Config                            = 0x0000000000004000,
    CPF_DisableEditOnInstance             = 0x0000000000010000,
    CPF_EditConst                         = 0x0000000000020000,
    CPF_GlobalConfig                      = 0x0000000000040000,
    CPF_InstancedReference                = 0x0000000000080000,
    CPF_DuplicateTransient                = 0x0000000000200000,
    CPF_SubobjectReference                = 0x0000000000400000,
    CPF_SaveGame                          = 0x0000000001000000,
    CPF_NoClear                           = 0x0000000002000000,
    CPF_ReferenceParm                     = 0x0000000008000000,
    CPF_BlueprintAssignable               = 0x0000000010000000,
    CPF_Deprecated                        = 0x0000000020000000,
    CPF_IsPlainOldData                    = 0x0000000040000000,
    CPF_RepSkip                           = 0x0000000080000000,
    CPF_RepNotify                         = 0x0000000100000000,
    CPF_Interp                            = 0x0000000200000000,
    CPF_NonTransactional                  = 0x0000000400000000,
    CPF_EditorOnly                        = 0x0000000800000000,
    CPF_NoDestructor                      = 0x0000001000000000,
    CPF_AutoWeak                          = 0x0000004000000000,
    CPF_ContainsInstancedReference        = 0x0000008000000000,
    CPF_AssetRegistrySearchable           = 0x0000010000000000,
    CPF_SimpleDisplay                     = 0x0000020000000000,
    CPF_AdvancedDisplay                   = 0x0000040000000000,
    CPF_Protected                         = 0x0000080000000000,
    CPF_BlueprintCallable                 = 0x0000100000000000,
    CPF_BlueprintAuthorityOnly            = 0x0000200000000000,
    CPF_TextExportTransient               = 0x0000400000000000,
    CPF_NonPIEDuplicateTransient          = 0x0000800000000000,
    CPF_ExposeOnSpawn                     = 0x0001000000000000,
    CPF_PersistentInstance                = 0x0002000000000000,
    CPF_UObjectWrapper                    = 0x0004000000000000,
    CPF_HasGetValueTypeHash               = 0x0008000000000000,
    CPF_NativeAccessSpecifierPublic       = 0x0010000000000000,
    CPF_NativeAccessSpecifierProtected    = 0x0020000000000000,
    CPF_NativeAccessSpecifierPrivate      = 0x0040000000000000,
    CPF_SkipSerialization                 = 0x0080000000000000,
}

Values

Name

Description

CPF_None

CPF_Edit

Property is user-settable in the editor.

CPF_ConstParm

This is a constant function parameter.

CPF_BlueprintVisible

This property can be read by blueprint code.

CPF_ExportObject

Object can be exported with actor.

CPF_BlueprintReadOnly

This property cannot be modified by blueprint code.

CPF_Net

Property is relevant to network replication.

CPF_EditFixedSize

Indicates that elements of an array can be modified, but its size cannot be changed.

CPF_Parm

Function/When call parameter.

CPF_OutParm

Value is copied out after function call.

CPF_ZeroConstructor

Memset is fine for construction

CPF_ReturnParm

Return value.

CPF_DisableEditOnTemplate

Disable editing of this property on an archetype/sub-blueprint

CPF_Transient

CPF_ = 0x0000000000001000, ///<.

CPF_Config

Property should be loaded/saved as permanent profile.

CPF_DisableEditOnInstance

CPF_ = 0x0000000000008000, ///<.

CPF_EditConst

Property is uneditable in the editor.

CPF_GlobalConfig

Load config from base class, not subclass.

CPF_InstancedReference

Property is a component references.

CPF_DuplicateTransient

CPF_ = 0x0000000000100000, ///<.

CPF_SubobjectReference

Property contains subobject references (TSubobjectPtr)

CPF_SaveGame

CPF_ = 0x0000000000800000, ///<.

CPF_NoClear

Hide clear (and browse) button.

CPF_ReferenceParm

CPF_ = 0x0000000004000000, ///<.

CPF_BlueprintAssignable

MC Delegates only. Property should be exposed for assigning in blueprint code.

CPF_Deprecated

Property is deprecated. Read it from an archive, but don't save it.

CPF_IsPlainOldData

If this is set, then the property can be memcopied instead of CopyCompleteValue / CopySingleValue.

CPF_RepSkip

Not replicated. For non replicated properties in replicated structs.

CPF_RepNotify

Notify actors when a property is replicated.

CPF_Interp

Interpolatable property for use with matinee

CPF_NonTransactional

Property isn't transacted.

CPF_EditorOnly

Property should only be loaded in the editor.

CPF_NoDestructor

No destructor

CPF_AutoWeak

CPF_ = 0x0000002000000000, ///<.

CPF_ContainsInstancedReference

Property contains component references.

CPF_AssetRegistrySearchable

Asset instances will add properties with this flag to the asset registry automatically

CPF_SimpleDisplay

The property is visible by default in the editor details view.

CPF_AdvancedDisplay

The property is advanced and not visible by default in the editor details view.

CPF_Protected

Property is protected from the perspective of script

CPF_BlueprintCallable

MC Delegates only. Property should be exposed for calling in blueprint code.

CPF_BlueprintAuthorityOnly

MC Delegates only. This delegate accepts (only in blueprint) only events with BlueprintAuthorityOnly.

CPF_TextExportTransient

Property shouldn't be exported to text format (e.g. copy/paste)

CPF_NonPIEDuplicateTransient

Property should only be copied in PIE.

CPF_ExposeOnSpawn

Property is exposed on spawn.

CPF_PersistentInstance

A object referenced by the property is duplicated like a component. (Each actor should have an own instance.)

CPF_UObjectWrapper

Property was parsed as a wrapper class like TSubclassOf , FScriptInterface etc., rather than a USomething*.

CPF_HasGetValueTypeHash

This property can generate a meaningful hash value.

CPF_NativeAccessSpecifierPublic

Public native access specifier.

CPF_NativeAccessSpecifierProtected

Protected native access specifier.

CPF_NativeAccessSpecifierPrivate

Private native access specifier.

CPF_SkipSerialization

Property shouldn't be serialized, can still be exported to text.

Remarks

Flags associated with each property in a class, overriding the property's default behavior.

When adding one here, please update ParsePropertyFlags()

References

Module

CoreUObject

Header

Runtime/CoreUObject/Public/UObject/ObjectMacros.h