EPropertyFlags

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

Windows
MacOS
Linux

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

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback