Navigation
API > API/Runtime > API/Runtime/CoreUObject
Flags associated with each property in a class, overriding the property's default behavior.
When adding one here, please update ParsePropertyFlags() This MUST be kept in sync with EPackageFlags defined in Engine\Source\Programs\Shared\EpicGames.Core\UnrealEngineTypes.cs
| Name | EPropertyFlags |
| Type | enum |
| Header File | /Engine/Source/Runtime/CoreUObject/Public/UObject/ObjectMacros.h |
| Include Path | #include "UObject/ObjectMacros.h" |
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_NonNullable = 0x0000000000001000,
CPF_Transient = 0x0000000000002000,
CPF_Config = 0x0000000000004000,
CPF_RequiredParm = 0x0000000000008000,
CPF_DisableEditOnInstance = 0x0000000000010000,
CPF_EditConst = 0x0000000000020000,
CPF_GlobalConfig = 0x0000000000040000,
CPF_InstancedReference = 0x0000000000080000,
CPF_ExperimentalExternalObjects = 0x0000000000100000,
CPF_DuplicateTransient = 0x0000000000200000,
CPF_SaveGame = 0x0000000001000000,
CPF_NoClear = 0x0000000002000000,
CPF_Virtual = 0x0000000004000000,
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,
CPF_TObjectPtr = 0x0100000000000000,
CPF_ExperimentalOverridableLogic = 0x0200000000000000,
CPF_ExperimentalAlwaysOverriden = 0x0400000000000000,
CPF_ExperimentalNeverOverriden = 0x0800000000000000,
CPF_AllowSelfReference = 0x1000000000000000,
}
Values
| Name | Remarks |
|---|---|
| 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_NonNullable | Object property can never be null. |
| CPF_Transient | Property is transient: shouldn't be saved or loaded, except for Blueprint CDOs. |
| CPF_Config | Property should be loaded/saved as permanent profile. |
| CPF_RequiredParm | Parameter must be linked explicitly in blueprint. Leaving the parameter out results in a compile error. |
| CPF_DisableEditOnInstance | Disable editing on an instance of this class. |
| 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_ExperimentalExternalObjects | Property saves objects in separate files, breaks hard links and reload them based on discovery. |
| CPF_DuplicateTransient | Property should always be reset to the default value during any type of duplication (copy/paste, binary duplication, etc.) |
| CPF_SaveGame | Property should be serialized for save games, this is only checked for game-specific archives with ArIsSaveGame. |
| CPF_NoClear | Hide clear button. |
| CPF_Virtual | Property is defined on an interface and does not include a useful Offset_Internal. |
| CPF_ReferenceParm | Value is passed by reference; CPF_OutParam and CPF_Param should also be set. |
| 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 cinematics |
| 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 |
| 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. |
| CPF_TObjectPtr | Property is a TObjectPtr |
| CPF_ExperimentalOverridableLogic | ****Experimental*** Property will use different logic to serialize knowing what changes are done against its default use the overridable information provided by the overridable manager on the object |
| CPF_ExperimentalAlwaysOverriden | ****Experimental*** Property should never inherit from the parent when using overridable serialization |
| CPF_ExperimentalNeverOverriden | ****Experimental*** Property should never be overridden when using overridable serialization |
| CPF_AllowSelfReference | Enables the instancing graph self referencing logic, delegates and verse function are already using this. |