EObjectFlags

Flags describing an object instance

Choose your operating system:

Windows

macOS

Linux

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_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 its class's default object.

RF_ArchetypeObject

This object is a template for another object - treat like a class default object.

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

  1. Flags.

RF_DefaultSubObject

Flagged on subobjects that are defaults.

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

Archetype of the object can be in its super class.

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

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_AllocatedInSharedPage

Allocated from a ref-counted page shared with other UObjects.

Remarks

Flags describing an object instance