EObjectFlags

Flags describing an object instance

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_Dynamic                         =0x04000000,
    RF_WillBeLoaded                    =0x08000000,
}

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_Dynamic

Field Only. Dynamic field - doesn't get constructed during static initialization, can be constructed multiple times.

RF_WillBeLoaded

This object was constructed during load and will be loaded shortly.

Remarks

Flags describing an object instance

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss