Navigation
Unreal Engine C++ API Reference > Runtime > CoreUObject > UObject
References
Module | CoreUObject |
Header | /Engine/Source/Runtime/CoreUObject/Public/UObject/ObjectMacros.h |
Include | #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_KeepForCooker =0x00000800,
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_WillBeLoaded =0x08000000,
RF_HasExternalPackage =0x10000000,
RF_HasPlaceholderType =0x20000000,
RF_MirroredGarbage =0x40000000,
RF_AllocatedInSharedPage =0x80000000,
}
Values
Name | Description |
---|---|
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_KeepForCooker | Keep this object during garbage collection because it's still being used by the cooker. |
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_WillBeLoaded | RF_Dynamic =0x04000000, ///< Was removed along with bp nativization. |
RF_HasExternalPackage | This object has an external package assigned and should look it up when getting the outermost package. |
RF_HasPlaceholderType | This object was instanced from a placeholder type (e.g. on load). References to it are serialized but externally resolve to NULL from a logical point of view (for type safety). |
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. |
Remarks
Flags describing an object instance When modifying this enum, update the LexToString implementation!