UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UObjectMarks.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 UObjectMark.h: Unreal object marks
5=============================================================================*/
6
7#pragma once
8
9#include "Containers/Array.h"
10
11class UObject;
12
30/* Here are the legacy flags that were converted to marks; listed here for find in files
31#define RF_Saved DECLARE_UINT64(0x0000000080000000) // Object has been saved via SavePackage. Temporary.
32#define RF_TagImp DECLARE_UINT64(0x0000000800000000) // Temporary import tag in load/save.
33#define RF_TagExp DECLARE_UINT64(0x0000001000000000) // Temporary export tag in load/save.
34#define RF_NotForClient DECLARE_UINT64(0x0010000000000000) // LT Don't load this object for the game client. These are always overwritten on save based on the virtual methods.
35#define RF_NotForServer DECLARE_UINT64(0x0020000000000000) // LT Don't load this object for the game server. The base virtual methods always just look at the flag so leave things unchanged.
36*/
37
46{
47 OBJECTMARK_NOMARKS = 0x00000000, // Zero, nothing marked
48 OBJECTMARK_Saved = 0x00000004, // Object has been saved via SavePackage. Temporary.
49 OBJECTMARK_TagImp = 0x00000008, // Temporary import tag in load/save.
50 OBJECTMARK_TagExp = 0x00000010, // Temporary export tag in load/save.
51 OBJECTMARK_NotForClient = 0x00000020, // Temporary save tag for client load flag.
52 OBJECTMARK_NotForServer = 0x00000040, // Temporary save tag for server load flag.
53 OBJECTMARK_NotAlwaysLoadedForEditorGame = 0x00000080, // Temporary save tag for editorgame load flag.
54 OBJECTMARK_EditorOnly = 0x00000100, // Temporary editor only flag
55 OBJECTMARK_NotForTargetPlatform = 0x00000200, // Temporary save tag for stripping objets based on TargetPlatform
56 // Set of marks to inherit up the outer chain, etc
58 OBJECTMARK_ALLMARKS = 0xffffffff, // -1, all possible marks
59};
60
68
76
84
92
101
110
118
126
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EObjectMark
Definition UObjectMarks.h:46
@ OBJECTMARK_ALLMARKS
Definition UObjectMarks.h:58
@ OBJECTMARK_TagExp
Definition UObjectMarks.h:50
@ OBJECTMARK_INHERITEDMARKS
Definition UObjectMarks.h:57
@ OBJECTMARK_NotForTargetPlatform
Definition UObjectMarks.h:55
@ OBJECTMARK_NOMARKS
Definition UObjectMarks.h:47
@ OBJECTMARK_NotAlwaysLoadedForEditorGame
Definition UObjectMarks.h:53
@ OBJECTMARK_NotForClient
Definition UObjectMarks.h:51
@ OBJECTMARK_TagImp
Definition UObjectMarks.h:49
@ OBJECTMARK_EditorOnly
Definition UObjectMarks.h:54
@ OBJECTMARK_NotForServer
Definition UObjectMarks.h:52
@ OBJECTMARK_Saved
Definition UObjectMarks.h:48
COREUOBJECT_API EObjectMark ObjectGetAllMarks(const class UObjectBase *Object)
Definition UObjectMarks.cpp:214
COREUOBJECT_API void GetObjectsWithAllMarks(TArray< UObject * > &Results, EObjectMark Marks)
Definition UObjectMarks.cpp:219
COREUOBJECT_API bool ObjectHasAnyMarks(const class UObjectBase *Object, EObjectMark Marks)
Definition UObjectMarks.cpp:204
COREUOBJECT_API void MarkObject(const class UObjectBase *Object, EObjectMark Marks)
Definition UObjectMarks.cpp:160
COREUOBJECT_API void UnMarkObject(const class UObjectBase *Object, EObjectMark Marks)
Definition UObjectMarks.cpp:166
COREUOBJECT_API bool ObjectHasAllMarks(const class UObjectBase *Object, EObjectMark Marks)
Definition UObjectMarks.cpp:209
COREUOBJECT_API void MarkAllObjects(EObjectMark Marks)
Definition UObjectMarks.cpp:176
COREUOBJECT_API void GetObjectsWithAnyMarks(TArray< UObject * > &Results, EObjectMark Marks)
Definition UObjectMarks.cpp:239
COREUOBJECT_API void UnMarkAllObjects(EObjectMark Marks=OBJECTMARK_ALLMARKS)
Definition UObjectMarks.cpp:184
Definition Array.h:670
Definition UObjectBase.h:59
Definition Object.h:95