Navigation
API > API/Runtime > API/Runtime/CoreUObject
Flags describing an object instance When modifying this enum, update the LexToString implementation!
| Name | EObjectFlags |
| Type | enum |
| Header File | /Engine/Source/Runtime/CoreUObject/Public/UObject/ObjectMacros.h |
| Include Path | #include "UObject/ObjectMacros.h" |
Syntax
enum EObjectFlags
{
RF_NoFlags = 0x00000000,
RF_Public =0x00000001,
RF_Standalone =0x00000002,
RF_MarkAsNative =0x00000004,
RF_Transactional =0x00000008,
RF_ClassDefaultObject =0x00000010,
RF_ArchetypeObject =0x00000020,
RF_Transient =0x00000040,
RF_MarkAsRootSet =0x00000080,
RF_TagGarbageTemp =0x00000100,
RF_NeedInitialization =0x00000200,
RF_NeedLoad =0x00000400,
RF_NeedPostLoad =0x00001000,
RF_NeedPostLoadSubobjects =0x00002000,
RF_NewerVersionExists =0x00004000,
RF_BeginDestroyed =0x00008000,
RF_FinishDestroyed =0x00010000,
RF_BeingRegenerated =0x00020000,
RF_DefaultSubObject =0x00040000,
RF_WasLoaded =0x00080000,
RF_TextExportTransient =0x00100000,
RF_LoadCompleted =0x00200000,
RF_InheritableComponentTemplate = 0x00400000,
RF_DuplicateTransient =0x00800000,
RF_StrongRefOnFrame =0x01000000,
RF_NonPIEDuplicateTransient =0x02000000,
RF_ImmutableDefaultObject =0x04000000,
RF_WillBeLoaded =0x08000000,
RF_HasExternalPackage =0x10000000,
RF_MigratingAsset =0x20000000,
RF_MirroredGarbage =0x40000000,
RF_AllocatedInSharedPage =0x80000000,
}
Values
| Name | Remarks |
|---|---|
| RF_NoFlags | No flags, used to avoid a cast. |
| RF_Public | Object is visible outside its package. |
| RF_Standalone | Keep object around for editing even if unreferenced. |
| RF_MarkAsNative | Object (UField) will be marked as native on construction (DO NOT USE THIS FLAG in HasAnyFlags() etc) |
| RF_Transactional | Object is transactional. |
| RF_ClassDefaultObject | This object is used as the default template for all instances of a class. One object is created for each class. |
| RF_ArchetypeObject | This object can be used as a template for instancing objects. This is set on all types of object templates. |
| RF_Transient | Don't save object. |
| RF_MarkAsRootSet | This group of flags is primarily concerned with garbage collection. |
| RF_TagGarbageTemp | This is a temp user flag for various utilities that need to use the garbage collector. The garbage collector itself does not interpret it. |
| RF_NeedInitialization | The group of flags tracks the stages of the lifetime of a uobject. |
| RF_NeedLoad | During load, indicates object needs loading. |
| RF_NeedPostLoad | Object needs to be postloaded. |
| RF_NeedPostLoadSubobjects | During load, indicates that the object still needs to instance subobjects and fixup serialized component references. |
| RF_NewerVersionExists | Object has been consigned to oblivion due to its owner package being reloaded, and a newer version currently exists. |
| RF_BeginDestroyed | BeginDestroy has been called on the object. |
| RF_FinishDestroyed | FinishDestroy has been called on the object. |
| RF_BeingRegenerated | Misc. Flags. |
| RF_DefaultSubObject | Flagged on subobject templates that were created in a class constructor, and all instances created from those templates. |
| RF_WasLoaded | Flagged on UObjects that were loaded. |
| RF_TextExportTransient | Do not export object to text form (e.g. copy/paste). Generally used for sub-objects that can be regenerated from data in their parent object. |
| RF_LoadCompleted | Object has been completely serialized by linkerload at least once. DO NOT USE THIS FLAG, It should be replaced with RF_WasLoaded. |
| RF_InheritableComponentTemplate | Flagged on subobject templates stored inside a class instead of the class default object, they are instanced after default subobjects. |
| RF_DuplicateTransient | Object should not be included in any type of duplication (copy/paste, binary duplication, etc.) |
| RF_StrongRefOnFrame | References to this object from persistent function frame are handled as strong ones. |
| RF_NonPIEDuplicateTransient | Object should not be included for duplication unless it's being duplicated for a PIE session. |
| RF_ImmutableDefaultObject | Hidden version of the class default object that cannot and will never be mutated. |
| RF_WillBeLoaded | This object was constructed during load and will be loaded shortly. |
| RF_HasExternalPackage | This object has an external package assigned and should look it up when getting the outermost package. |
| RF_MigratingAsset | Objects marked as MigratingAsset can be migrated to another server even if they've been loaded from disk. |
| RF_MirroredGarbage | Garbage from logical point of view and should not be referenced. This flag is mirrored in EInternalObjectFlags as Garbage for performance. |
| RF_AllocatedInSharedPage | Allocated from a ref-counted page shared with other UObjects. |