UObject的Flags
/** * Flags describing an object instance */ enum EObjectFlags { // Do not add new flags unless they truly belong here. There are alternatives. // if you change any the bit of any of the RF_Load flags, then you will need legacy serialization RF_NoFlags = 0x00000000, //< No flags, used to avoid a cast // This first group of flags mostly has to do with what kind of object it is. Other than transient, these are the persistent object flags. // The garbage collector also tends to look at these. RF_Public =0x00000001, //< Object is visible outside its package. RF_Standalone =0x00000002, //< Keep object around for editing even if unreferenced. RF_MarkAsNative =0x00000004, //< Object (UField) will be marked as native on construction (DO NOT USE THIS FLAG in HasAnyFlags() etc) RF_Transactional =0x00000008, //< Object is transactional. RF_ClassDefaultObject =0x00000010, //< This object is its class's default object RF_ArchetypeObject =0x00000020, //< This object is a template for another object - treat like a class default object RF_Transient =0x00000040, //< Don't save object. // This group of flags is primarily concerned with garbage collection. RF_MarkAsRootSet =0x00000080, //< Object will be marked as root set on construction and not be garbage collected, even if unreferenced (DO NOT USE THIS FLAG in HasAnyFlags() etc) RF_TagGarbageTemp =0x00000100, //< This is a temp user flag for various utilities that need to use the garbage collector. The garbage collector itself does not interpret it. // The group of flags tracks the stages of the lifetime of a uobject RF_NeedInitialization =0x00000200, //< This object has not completed its initialization process. Cleared when ~FObjectInitializer completes RF_NeedLoad =0x00000400, //< During load, indicates object needs loading. RF_KeepForCooker =0x00000800, //< Keep this object during garbage collection because it's still being used by the cooker RF_NeedPostLoad =0x00001000, //< Object needs to be postloaded. RF_NeedPostLoadSubobjects =0x00002000, //< During load, indicates that the object still needs to instance subobjects and fixup serialized component references RF_NewerVersionExists =0x00004000, //< Object has been consigned to oblivion due to its owner package being reloaded, and a newer version currently exists RF_BeginDestroyed =0x00008000, //< BeginDestroy has been called on the object. RF_FinishDestroyed =0x00010000, //< FinishDestroy has been called on the object. // Misc. Flags RF_BeingRegenerated =0x00020000, //< Flagged on UObjects that are used to create UClasses (e.g. Blueprints) while they are regenerating their UClass on load (See FLinkerLoad::CreateExport()) RF_DefaultSubObject =0x00040000, //< Flagged on subobjects that are defaults RF_WasLoaded =0x00080000, //< Flagged on UObjects that were loaded RF_TextExportTransient =0x00100000, //< 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 =0x00200000, //< Object has been completely serialized by linkerload at least once. DO NOT USE THIS FLAG, It should be replaced with RF_WasLoaded. RF_InheritableComponentTemplate = 0x00400000, //< Archetype of the object can be in its super class RF_DuplicateTransient =0x00800000, //< Object should not be included in any type of duplication (copy/paste, binary duplication, etc.) RF_StrongRefOnFrame =0x01000000, //< References to this object from persistent function frame are handled as strong ones. RF_NonPIEDuplicateTransient =0x02000000, //< Object should not be included for duplication unless it's being duplicated for a PIE session RF_Dynamic =0x04000000, //< Field Only. Dynamic field - doesn't get constructed during static initialization, can be constructed multiple times RF_WillBeLoaded =0x08000000, //< This object was constructed during load and will be loaded shortly };
相關函數說明:
void SetFlags( EObjectFlags NewFlags )
void ClearFlags( EObjectFlags NewFlags )
bool HasAnyFlags( EObjectFlags FlagsToCheck ) const
bool HasAllFlags( EObjectFlags FlagsToCheck ) const
EObjectFlags GetMaskedFlags( EObjectFlags Mask = RF_AllFlags ) const
UClass的Flags
/** * Flags describing a class. */ enum EClassFlags { /** No Flags */ CLASS_None = 0x00000000u, /** Class is abstract and can't be instantiated directly. */ CLASS_Abstract = 0x00000001u, /** Save object configuration only to Default INIs, never to local INIs. Must be combined with CLASS_Config */ CLASS_DefaultConfig = 0x00000002u, /** Load object configuration at construction time. */ CLASS_Config = 0x00000004u, /** This object type can't be saved; null it out at save time. */ CLASS_Transient = 0x00000008u, /** Successfully parsed. */ CLASS_Parsed = 0x00000010u, /** */ CLASS_MatchedSerializers = 0x00000020u, /** All the properties on the class are shown in the advanced section (which is hidden by default) unless SimpleDisplay is specified on the property */ CLASS_AdvancedDisplay = 0x00000040u, /** Class is a native class - native interfaces will have CLASS_Native set, but not RF_MarkAsNative */ CLASS_Native = 0x00000080u, /** Don't export to C++ header. */ CLASS_NoExport = 0x00000100u, /** Do not allow users to create in the editor. */ CLASS_NotPlaceable = 0x00000200u, /** Handle object configuration on a per-object basis, rather than per-class. */ CLASS_PerObjectConfig = 0x00000400u, /** Whether SetUpRuntimeReplicationData still needs to be called for this class */ CLASS_ReplicationDataIsSetUp = 0x00000800u, /** Class can be constructed from editinline New button. */ CLASS_EditInlineNew = 0x00001000u, /** Display properties in the editor without using categories. */ CLASS_CollapseCategories = 0x00002000u, /** Class is an interface **/ CLASS_Interface = 0x00004000u, /** Do not export a constructor for this class, assuming it is in the cpptext **/ CLASS_CustomConstructor = 0x00008000u, /** all properties and functions in this class are const and should be exported as const */ CLASS_Const = 0x00010000u, /** Class flag indicating the class is having its layout changed, and therefore is not ready for a CDO to be created */ CLASS_LayoutChanging = 0x00020000u, /** Indicates that the class was created from blueprint source material */ CLASS_CompiledFromBlueprint = 0x00040000u, /** Indicates that only the bare minimum bits of this class should be DLL exported/imported */ CLASS_MinimalAPI = 0x00080000u, /** Indicates this class must be DLL exported/imported (along with all of it's members) */ CLASS_RequiredAPI = 0x00100000u, /** Indicates that references to this class default to instanced. Used to be subclasses of UComponent, but now can be any UObject */ CLASS_DefaultToInstanced = 0x00200000u, /** Indicates that the parent token stream has been merged with ours. */ CLASS_TokenStreamAssembled = 0x00400000u, /** Class has component properties. */ CLASS_HasInstancedReference= 0x00800000u, /** Don't show this class in the editor class browser or edit inline new menus. */ CLASS_Hidden = 0x01000000u, /** Don't save objects of this class when serializing */ CLASS_Deprecated = 0x02000000u, /** Class not shown in editor drop down for class selection */ CLASS_HideDropDown = 0x04000000u, /** Class settings are saved to <AppData>/..../Blah.ini (as opposed to CLASS_DefaultConfig) */ CLASS_GlobalUserConfig = 0x08000000u, /** Class was declared directly in C++ and has no boilerplate generated by UnrealHeaderTool */ CLASS_Intrinsic = 0x10000000u, /** Class has already been constructed (maybe in a previous DLL version before hot-reload). */ CLASS_Constructed = 0x20000000u, /** Indicates that object configuration will not check against ini base/defaults when serialized */ CLASS_ConfigDoNotCheckDefaults = 0x40000000u, /** Class has been consigned to oblivion as part of a blueprint recompile, and a newer version currently exists. */ CLASS_NewerVersionExists = 0x80000000u, };
相關函數說明:
bool HasAnyClassFlags( EClassFlags FlagsToCheck ) const
bool HasAllClassFlags( EClassFlags FlagsToCheck ) const
EClassFlags GetClassFlags() const
UObject相關的命令主要在Obj.cpp的bool StaticExec( UWorld* InWorld, const TCHAR* Cmd, FOutputDevice& Ar )函數和UnrealEngine.cpp的bool UEngine::HandleObjCommand( const TCHAR* Cmd, FOutputDevice& Ar )函數中
Get MyTest1Character m_Str1 // 打印輸出AMyTest1Character類型的m_Str1變量值 注:m_Str1需使用UPROPERTY宏修飾
Get ThirdPersonCharacter_C m_nVal1 // 打印輸出ThirdPersonCharacter藍圖類型的m_nVal1變量值
Set MyTest1Character m_Str1 hello // 設置AMyTest1Character類型的m_Str1變量為hello 注:m_Str1需使用UPROPERTY宏修飾
Set ThirdPersonCharacter_2 m_Str1 china // 設置ThirdPersonCharacter_2對象的m_Str1變量為china 注:m_Str1需使用UPROPERTY宏修飾
Setnopec MyTest1Character m_Str1 hello // 設置AMyTest1Character類型的m_Str1變量為hello(不回調對象的PreEditChange、PostEditChangeProperty通知函數)
Setnopec ThirdPersonCharacter_2 m_Str1 china // 設置ThirdPersonCharacter_2對象的m_Str1變量為china(不回調對象的PreEditChange、PostEditChangeProperty通知函數)
GetIni Engine:/Script/AndroidRuntimeSettings.AndroidRuntimeSettings PackageName // 讀取Engine.ini中標簽為/Script/AndroidRuntimeSettings.AndroidRuntimeSettings鍵為PackageName的內容
GetIni Game:/Script/MoviePlayer.MoviePlayerSettings bMoviesAreSkippable // 讀取Game.ini中標簽為/Script/MoviePlayer.MoviePlayerSettings鍵為bMoviesAreSkippable的內容
GetAll Texture2D // 查看類型為Texture2D的所有對象的名稱
[2020.12.03-11.51.32:507][439]71) Texture2D /Engine/EngineMaterials/BlueNoise.BlueNoise [2020.12.03-11.51.32:507][439]72) Texture2D /Engine/EngineSky/T_Sky_Stars.T_Sky_Stars [2020.12.03-11.51.32:507][439]73) Texture2D /Engine/EngineSky/T_Sky_Clouds_M.T_Sky_Clouds_M [2020.12.03-11.51.32:507][439]74) Texture2D /Engine/EngineSky/T_Sky_Blue.T_Sky_Blue [2020.12.03-11.51.32:507][439]75) Texture2D /Game/ThirdPerson/Fonts/NewFont.NewFont:NewFont_PageA [2020.12.03-11.51.32:508][439]76) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:SkyOcclusion0_3 [2020.12.03-11.51.32:508][439]77) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:SkyOcclusion0_2 [2020.12.03-11.51.32:508][439]78) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:SkyOcclusion0_1 [2020.12.03-11.51.32:508][439]79) ShadowMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:ShadowMapTexture2D_1 [2020.12.03-11.51.32:508][439]80) ShadowMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:ShadowMapTexture2D_0 [2020.12.03-11.51.32:508][439]81) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:HQ_Lightmap0_3 [2020.12.03-11.51.32:508][439]82) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:HQ_Lightmap0_2 [2020.12.03-11.51.32:508][439]83) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:HQ_Lightmap0_1 [2020.12.03-11.51.32:508][439]84) Texture2D /Game/ThirdPerson/Textures/T_Env_BuildingDecal01_09_A01_DO.T_Env_BuildingDecal01_09_A01_DO [2020.12.03-11.51.32:508][439]85) Texture2D /Engine/EditorResources/SequenceRecorder/Countdown.Countdown [2020.12.03-11.51.32:508][439]86) Texture2D /Engine/EditorResources/SequenceRecorder/RecordingIndicator.RecordingIndicator
GetAll Texture2D LODGroup outer=ThirdPersonExampleMap_BuiltData
[2020.12.03-12.34.15:133][772]0) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:SkyOcclusion0_3.LODGroup = TEXTUREGROUP_Lightmap [2020.12.03-12.34.15:133][772]1) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:SkyOcclusion0_2.LODGroup = TEXTUREGROUP_Lightmap [2020.12.03-12.34.15:133][772]2) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:SkyOcclusion0_1.LODGroup = TEXTUREGROUP_Lightmap [2020.12.03-12.34.15:133][772]3) ShadowMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:ShadowMapTexture2D_1.LODGroup = TEXTUREGROUP_Shadowmap [2020.12.03-12.34.15:133][772]4) ShadowMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:ShadowMapTexture2D_0.LODGroup = TEXTUREGROUP_Shadowmap [2020.12.03-12.34.15:134][772]5) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:HQ_Lightmap0_3.LODGroup = TEXTUREGROUP_Lightmap [2020.12.03-12.34.15:134][772]6) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:HQ_Lightmap0_2.LODGroup = TEXTUREGROUP_Lightmap [2020.12.03-12.34.15:134][772]7) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:HQ_Lightmap0_1.LODGroup = TEXTUREGROUP_Lightmap
listprops MyTest1Character OnInputTouch* // 打印AMyTest1Character類型中各UPROPERTY成員變量的Offset,size及flag;最后搜索並輸出OnInputTouch開頭的變量 注:可使用?和*通配符
[2020.12.03-07.57.24:531][118] Prop CameraBoom at offset 1400; 1x 8 bytes of type ObjectProperty
[2020.12.03-07.57.24:531][118] Flag CPF_Edit
[2020.12.03-07.57.24:531][118] Flag CPF_BlueprintVisible
[2020.12.03-07.57.24:531][118] Flag CPF_ExportObject
[2020.12.03-07.57.24:531][118] Flag CPF_BlueprintReadOnly
[2020.12.03-07.57.24:531][118] Flag CPF_ZeroConstructor
[2020.12.03-07.57.24:531][118] Flag CPF_EditConst
[2020.12.03-07.57.24:532][118] Flag CPF_InstancedReference
[2020.12.03-07.57.24:532][118] Flag CPF_IsPlainOldData
[2020.12.03-07.57.24:532][118] Flag CPF_NoDestructor
[2020.12.03-07.57.24:532][118] Flag CPF_HasGetValueTypeHash
[2020.12.03-07.57.24:532][118] Flag CPF_NativeAccessSpecifierPrivate
[2020.12.03-07.57.24:532][118] Prop FollowCamera at offset 1408; 1x 8 bytes of type ObjectProperty
[2020.12.03-07.57.24:532][118] Flag CPF_Edit
[2020.12.03-07.57.24:532][118] Flag CPF_BlueprintVisible
[2020.12.03-07.57.24:532][118] Flag CPF_ExportObject
[2020.12.03-07.57.24:532][118] Flag CPF_BlueprintReadOnly
[2020.12.03-07.57.24:532][118] Flag CPF_ZeroConstructor
[2020.12.03-07.57.24:532][118] Flag CPF_EditConst
[2020.12.03-07.57.24:533][118] Flag CPF_InstancedReference
[2020.12.03-07.57.24:533][118] Flag CPF_IsPlainOldData
[2020.12.03-07.57.24:533][118] Flag CPF_NoDestructor
[2020.12.03-07.57.24:533][118] Flag CPF_HasGetValueTypeHash
[2020.12.03-07.57.24:533][118] Flag CPF_NativeAccessSpecifierPrivate
[2020.12.03-07.57.24:533][118] Prop BaseTurnRate at offset 1416; 1x 4 bytes of type FloatProperty
[2020.12.03-07.57.24:533][118] Flag CPF_Edit
[2020.12.03-07.57.24:533][118] Flag CPF_BlueprintVisible
[2020.12.03-07.57.24:533][118] Flag CPF_BlueprintReadOnly
[2020.12.03-07.57.24:533][118] Flag CPF_ZeroConstructor
[2020.12.03-07.57.24:533][118] Flag CPF_EditConst
[2020.12.03-07.57.24:533][118] Flag CPF_IsPlainOldData
[2020.12.03-07.57.24:533][118] Flag CPF_NoDestructor
[2020.12.03-07.57.24:534][118] Flag CPF_HasGetValueTypeHash
[2020.12.03-07.57.24:534][118] Flag CPF_NativeAccessSpecifierPublic
[2020.12.03-07.57.24:534][118] Prop BaseLookUpRate at offset 1420; 1x 4 bytes of type FloatProperty
[2020.12.03-07.57.24:534][118] Flag CPF_Edit
[2020.12.03-07.57.24:534][118] Flag CPF_BlueprintVisible
[2020.12.03-07.57.24:534][118] Flag CPF_BlueprintReadOnly
[2020.12.03-07.57.24:534][118] Flag CPF_ZeroConstructor
[2020.12.03-07.57.24:534][118] Flag CPF_EditConst
[2020.12.03-07.57.24:534][118] Flag CPF_IsPlainOldData
[2020.12.03-07.57.24:534][118] Flag CPF_NoDestructor
[2020.12.03-07.57.24:534][118] Flag CPF_HasGetValueTypeHash
[2020.12.03-07.57.24:535][118] Flag CPF_NativeAccessSpecifierPublic
[2020.12.03-07.57.24:535][118] Prop m_Obj1 at offset 1432; 1x 8 bytes of type ObjectProperty
[2020.12.03-07.57.24:535][118] Flag CPF_ZeroConstructor
[2020.12.03-07.57.24:535][118] Flag CPF_IsPlainOldData
[2020.12.03-07.57.24:535][118] Flag CPF_NoDestructor
[2020.12.03-07.57.24:535][118] Flag CPF_HasGetValueTypeHash
[2020.12.03-07.57.24:535][118] Flag CPF_NativeAccessSpecifierPublic
[2020.12.03-07.57.24:535][118] Prop m_Obj2 at offset 1440; 1x 8 bytes of type ObjectProperty
[2020.12.03-07.57.24:535][118] Flag CPF_ZeroConstructor
[2020.12.03-07.57.24:535][118] Flag CPF_IsPlainOldData
[2020.12.03-07.57.24:535][118] Flag CPF_NoDestructor
[2020.12.03-07.57.24:535][118] Flag CPF_HasGetValueTypeHash
[2020.12.03-07.57.24:536][118] Flag CPF_NativeAccessSpecifierPublic
[2020.12.03-07.57.24:536][118] Prop m_BPObj1 at offset 1456; 1x 8 bytes of type ObjectProperty
[2020.12.03-07.57.24:536][118] Flag CPF_ZeroConstructor
[2020.12.03-07.57.24:536][118] Flag CPF_IsPlainOldData
[2020.12.03-07.57.24:536][118] Flag CPF_NoDestructor
[2020.12.03-07.57.24:536][118] Flag CPF_HasGetValueTypeHash
[2020.12.03-07.57.24:537][118] Flag CPF_NativeAccessSpecifierPublic
[2020.12.03-07.57.24:537][118] Prop m_MyBPObjectClass at offset 1464; 1x 8 bytes of type ClassProperty
[2020.12.03-07.57.24:537][118] Flag CPF_ZeroConstructor
[2020.12.03-07.57.24:537][118] Flag CPF_IsPlainOldData
[2020.12.03-07.57.24:537][118] Flag CPF_NoDestructor
[2020.12.03-07.57.24:540][118] Flag CPF_HasGetValueTypeHash
[2020.12.03-07.57.24:540][118] Flag CPF_NativeAccessSpecifierPublic
[2020.12.03-07.57.24:540][118] Prop m_Str1 at offset 1472; 1x 16 bytes of type StrProperty
[2020.12.03-07.57.24:540][118] Flag CPF_ZeroConstructor
[2020.12.03-07.57.24:540][118] Flag CPF_HasGetValueTypeHash
[2020.12.03-07.57.24:540][118] Flag CPF_NativeAccessSpecifierPublic
[2020.12.03-07.57.24:540][118] Prop m_Text1 at offset 1488; 1x 24 bytes of type TextProperty
[2020.12.03-07.57.24:540][118] Flag CPF_NativeAccessSpecifierPublic
[2020.12.03-07.57.24:540][118] Prop m_Text2 at offset 1512; 1x 24 bytes of type TextProperty
[2020.12.03-07.57.24:540][118] Flag CPF_NativeAccessSpecifierPublic
[2020.12.03-07.57.24:541][118] Prop TextMap at offset 1536; 1x 80 bytes of type MapProperty
[2020.12.03-07.57.24:541][118] Flag CPF_Config
[2020.12.03-07.57.24:541][118] Flag CPF_NativeAccessSpecifierPublic
[2020.12.03-07.57.24:541][118] Prop TestXXX at offset 1616; 1x 4 bytes of type IntProperty
[2020.12.03-07.57.24:541][118] Flag CPF_ZeroConstructor
[2020.12.03-07.57.24:541][118] Flag CPF_Config
[2020.12.03-07.57.24:541][118] Flag CPF_IsPlainOldData
[2020.12.03-07.57.24:541][118] Flag CPF_NoDestructor
[2020.12.03-07.57.24:541][118] Flag CPF_HasGetValueTypeHash
[2020.12.03-07.57.24:541][118] Flag CPF_NativeAccessSpecifierPublic
[2020.12.03-07.57.24:541][118] Prop Mesh at offset 824; 1x 8 bytes of type ObjectProperty
[2020.12.03-07.57.24:541][118] Flag CPF_Edit
[2020.12.03-07.57.24:541][118] Flag CPF_BlueprintVisible
[2020.12.03-07.57.24:541][118] Flag CPF_ExportObject
[2020.12.03-07.57.24:541][118] Flag CPF_BlueprintReadOnly
[2020.12.03-07.57.24:542][118] Flag CPF_ZeroConstructor
[2020.12.03-07.57.24:542][118] Flag CPF_EditConst
[2020.12.03-07.57.24:543][118] Flag CPF_InstancedReference
[2020.12.03-07.57.24:543][118] Flag CPF_IsPlainOldData
[2020.12.03-07.57.24:543][118] Flag CPF_NoDestructor
[2020.12.03-07.57.24:543][118] Flag CPF_HasGetValueTypeHash
[2020.12.03-07.57.24:543][118] Flag CPF_NativeAccessSpecifierPrivate
[2020.12.03-07.57.24:543][118] Prop CharacterMovement at offset 832; 1x 8 bytes of type ObjectProperty
[2020.12.03-07.57.24:543][118] Flag CPF_Edit
[2020.12.03-07.57.24:543][118] Flag CPF_BlueprintVisible
[2020.12.03-07.57.24:543][118] Flag CPF_ExportObject
[2020.12.03-07.57.24:544][118] Flag CPF_BlueprintReadOnly
[2020.12.03-07.57.24:544][118] Flag CPF_ZeroConstructor
[2020.12.03-07.57.24:544][118] Flag CPF_EditConst
[2020.12.03-07.57.24:544][118] Flag CPF_InstancedReference
[2020.12.03-07.57.24:544][118] Flag CPF_IsPlainOldData
[2020.12.03-07.57.24:544][118] Flag CPF_NoDestructor
[2020.12.03-07.57.24:544][118] Flag CPF_HasGetValueTypeHash
[2020.12.03-07.57.24:544][118] Flag CPF_NativeAccessSpecifierPrivate
。。。 。。。 。。。 。。。 。。。 。。。 。。。 。。。 。。。
[2020.12.03-07.57.24:615][118] Prop OnReleased at offset 480; 1x 1 bytes of type MulticastSparseDelegateProperty
[2020.12.03-07.57.24:615][118] Flag CPF_InstancedReference
[2020.12.03-07.57.24:615][118] Flag CPF_BlueprintAssignable
[2020.12.03-07.57.24:615][118] Flag CPF_NoDestructor
[2020.12.03-07.57.24:615][118] Flag CPF_NativeAccessSpecifierPublic
[2020.12.03-07.57.24:615][118] Prop OnInputTouchBegin at offset 481; 1x 1 bytes of type MulticastSparseDelegateProperty
[2020.12.03-07.57.24:615][118] Flag CPF_InstancedReference
[2020.12.03-07.57.24:615][118] Flag CPF_BlueprintAssignable
[2020.12.03-07.57.24:615][118] Flag CPF_NoDestructor
[2020.12.03-07.57.24:615][118] Flag CPF_NativeAccessSpecifierPublic
[2020.12.03-07.57.24:615][118] Prop OnInputTouchEnd at offset 482; 1x 1 bytes of type MulticastSparseDelegateProperty
[2020.12.03-07.57.24:615][118] Flag CPF_InstancedReference
[2020.12.03-07.57.24:615][118] Flag CPF_BlueprintAssignable
[2020.12.03-07.57.24:615][118] Flag CPF_NoDestructor
[2020.12.03-07.57.24:615][118] Flag CPF_NativeAccessSpecifierPublic
[2020.12.03-07.57.24:615][118] Prop OnInputTouchEnter at offset 483; 1x 1 bytes of type MulticastSparseDelegateProperty
[2020.12.03-07.57.24:616][118] Flag CPF_InstancedReference
[2020.12.03-07.57.24:616][118] Flag CPF_BlueprintAssignable
[2020.12.03-07.57.24:616][118] Flag CPF_NoDestructor
[2020.12.03-07.57.24:616][118] Flag CPF_NativeAccessSpecifierPublic
[2020.12.03-07.57.24:616][118] Prop OnInputTouchLeave at offset 484; 1x 1 bytes of type MulticastSparseDelegateProperty
[2020.12.03-07.57.24:616][118] Flag CPF_InstancedReference
[2020.12.03-07.57.24:616][118] Flag CPF_BlueprintAssignable
[2020.12.03-07.57.24:616][118] Flag CPF_NoDestructor
[2020.12.03-07.57.24:616][118] Flag CPF_NativeAccessSpecifierPublic
[2020.12.03-07.57.24:616][118] Prop OnActorHit at offset 485; 1x 1 bytes of type MulticastSparseDelegateProperty
[2020.12.03-07.57.24:616][118] Flag CPF_InstancedReference
[2020.12.03-07.57.24:616][118] Flag CPF_BlueprintAssignable
[2020.12.03-07.57.24:616][118] Flag CPF_NoDestructor
[2020.12.03-07.57.24:617][118] Flag CPF_NativeAccessSpecifierPublic
[2020.12.03-07.57.24:617][118] Prop OnDestroyed at offset 486; 1x 1 bytes of type MulticastSparseDelegateProperty
[2020.12.03-07.57.24:617][118] Flag CPF_InstancedReference
[2020.12.03-07.57.24:617][118] Flag CPF_BlueprintAssignable
[2020.12.03-07.57.24:617][118] Flag CPF_NoDestructor
[2020.12.03-07.57.24:617][118] Flag CPF_NativeAccessSpecifierPublic
[2020.12.03-07.57.24:617][118] Prop OnEndPlay at offset 487; 1x 1 bytes of type MulticastSparseDelegateProperty
[2020.12.03-07.57.24:617][118] Flag CPF_InstancedReference
[2020.12.03-07.57.24:617][118] Flag CPF_BlueprintAssignable
[2020.12.03-07.57.24:617][118] Flag CPF_NoDestructor
[2020.12.03-07.57.24:617][118] Flag CPF_NativeAccessSpecifierPublic
[2020.12.03-07.57.24:617][118] Prop InstanceComponents at offset 680; 1x 16 bytes of type ArrayProperty
[2020.12.03-07.57.24:617][118] Flag CPF_ExportObject
[2020.12.03-07.57.24:617][118] Flag CPF_ZeroConstructor
[2020.12.03-07.57.24:618][118] Flag CPF_ContainsInstancedReference
[2020.12.03-07.57.24:618][118] Flag CPF_HasGetValueTypeHash
[2020.12.03-07.57.24:618][118] Flag CPF_NativeAccessSpecifierPrivate
[2020.12.03-07.57.24:618][118] Prop BlueprintCreatedComponents at offset 696; 1x 16 bytes of type ArrayProperty
[2020.12.03-07.57.24:618][118] Flag CPF_ExportObject
[2020.12.03-07.57.24:618][118] Flag CPF_ZeroConstructor
[2020.12.03-07.57.24:618][118] Flag CPF_NonTransactional
[2020.12.03-07.57.24:618][118] Flag CPF_ContainsInstancedReference
[2020.12.03-07.57.24:618][118] Flag CPF_TextExportTransient
[2020.12.03-07.57.24:618][118] Flag CPF_HasGetValueTypeHash
[2020.12.03-07.57.24:618][118] Flag CPF_NativeAccessSpecifierPublic
[2020.12.03-07.57.24:618][118]0) OnInputTouchBegin (MulticastSparseDelegateProperty)
[2020.12.03-07.57.24:618][118]1) OnInputTouchEnd (MulticastSparseDelegateProperty)
[2020.12.03-07.57.24:618][118]2) OnInputTouchEnter (MulticastSparseDelegateProperty)
[2020.12.03-07.57.24:618][118]3) OnInputTouchLeave (MulticastSparseDelegateProperty)
listfuncs MyTest1Character
[2020.12.03-13.14.11:360][922]Listing functions introduced in class MyTest1Character (class flags = 0x30C008A4) [2020.12.03-13.14.11:360][922]Function GetText2 [2020.12.03-13.14.11:360][922]Function GetText1 [2020.12.03-13.14.11:360][922]Function GetStr1 [2020.12.03-13.14.11:361][922]Function UnCrouch [2020.12.03-13.14.11:361][922]Function StopJumping [2020.12.03-13.14.11:361][922]Function StopAnimMontage [2020.12.03-13.14.11:361][922]Function ServerMoveOld [2020.12.03-13.14.11:361][922]Function ServerMoveNoBase [2020.12.03-13.14.11:361][922]Function ServerMoveDualNoBase [2020.12.03-13.14.11:361][922]Function ServerMoveDualHybridRootMotion [2020.12.03-13.14.11:361][922]Function ServerMoveDual [2020.12.03-13.14.11:361][922]Function ServerMove [2020.12.03-13.14.11:361][922]Function RootMotionDebugClientPrintOnScreen [2020.12.03-13.14.11:361][922]Function PlayAnimMontage [2020.12.03-13.14.11:361][922]Function OnWalkingOffLedge [2020.12.03-13.14.11:362][922]Function OnRep_RootMotion [2020.12.03-13.14.11:362][922]Function OnRep_ReplicatedBasedMovement [2020.12.03-13.14.11:362][922]Function OnRep_ReplayLastTransformUpdateTimeStamp [2020.12.03-13.14.11:362][922]Function OnRep_IsCrouched [2020.12.03-13.14.11:362][922]Function OnLaunched [2020.12.03-13.14.11:362][922]Function OnLanded [2020.12.03-13.14.11:362][922]Function OnJumped [2020.12.03-13.14.11:362][922]Function LaunchCharacter 。。。 。。。 。。。 。。。 。。。 。。。 [2020.12.03-13.14.11:374][922]Function EnableInput [2020.12.03-13.14.11:374][922]Function DisableInput [2020.12.03-13.14.11:374][922]Function DetachRootComponentFromParent [2020.12.03-13.14.11:374][922]Function AddTickPrerequisiteComponent [2020.12.03-13.14.11:374][922]Function AddTickPrerequisiteActor [2020.12.03-13.14.11:374][922]Function AddComponent [2020.12.03-13.14.11:374][922]Function ActorHasTag [2020.12.03-13.14.11:374][922]Function ExecuteUbergraph [2020.12.03-13.14.11:374][922]Command not recognized: listfuncs MyTest1Character
listfunc MyTest1Character GetText2
[2020.12.03-13.16.35:501][740]Processing function GetText2 [2020.12.03-13.16.35:501][740] Flag Final [2020.12.03-13.16.35:501][740] Flag Native [2020.12.03-13.16.35:501][740] Flag Public [2020.12.03-13.16.35:501][740] Flag BlueprintCallable [2020.12.03-13.16.35:501][740] 1 parameters taking up 24 bytes, with return value at offset 0 [2020.12.03-13.16.35:501][740] Parameter ReturnValue at offset 0; 1x 24 bytes of type TextProperty [2020.12.03-13.16.35:501][740] Flag CPF_Parm [2020.12.03-13.16.35:501][740] Flag CPF_OutParm [2020.12.03-13.16.35:501][740] Flag CPF_ReturnParm [2020.12.03-13.16.35:501][740] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-13.16.35:501][740] Total stack size 24 bytes
reloadconfig MyTest1Character // 為MyTest1Character類型重新加載ini配置 注:好像沒有作用
reloadcfg ThirdPersonCharacter_2 // 為ThirdPersonCharacter_2對象重新加載ini配置 注:好像沒有作用
obj verifycomponents // 對所有object對象進行診斷,輸出有問題的object
obj transactional // 查看所有帶RF_Transactional標志的Object對象(即:事務性Object對象,主要用於編輯器中undo、redo操作)
obj gc // 以阻塞的方式進行一次全量的GC(包括Mark和Sweep階段)
[2021.06.09-12.05.05:000][450]Collecting garbage and resetting GC timer. [2021.06.09-12.05.05:075][450]LogUObjectHash: |UObjectHash.cpp:333|Compacting FUObjectHashTables data took 3.21ms
obj garbage // 功能同上
obj trygc // 以阻塞的方式嘗試進行一次全量的GC(包括Mark和Sweep階段)
obj mark // 標記當前所有的object對象
obj markcheck // 與上一次obj mark的結果進行對比,打印出新增的object對象
[2020.12.07-03.53.48:786][734]LogObj: Marking objects [2020.12.07-03.53.50:986][812]LogTemp: New two Objects [2020.12.07-03.53.56:155][841]LogObj: Unmarked (new) objects: [2020.12.07-03.53.56:161][841]LogObj: MyObject /Engine/Transient.MyObject_3 [2020.12.07-03.53.56:161][841]LogObj: MyObject /Engine/Transient.MyObject_2
obj invmark // 標記當前所有的object對象
obj invmarkcheck // 與上一次obj invmark的結果進行對比,打印出刪除的object對象
[2020.12.07-03.58.08:381][147]LogTemp: New two Objects [2020.12.07-03.58.11:429][377]LogObj: InvMarking existing objects [2020.12.07-03.58.17:134][245]Collecting garbage and resetting GC timer. [2020.12.07-03.58.17:148][245]LogUObjectArray: Warning: Empty slot [2020.12.07-03.58.17:149][245]LogUObjectArray: Warning: Empty slot [2020.12.07-03.58.17:150][245]LogUObjectHash: Compacting FUObjectHashTables data took 1.05ms [2020.12.07-03.58.21:791][967]LogObj: Objects that were deleted: [2020.12.07-03.58.21:827][967]LogObj: MyObject /Engine/Transient.MyObject_5 [2020.12.07-03.58.21:827][967]LogObj: MyObject /Engine/Transient.MyObject_4
obj spikemark // 標記當前所有的object對象 注:會先執行FlushAsyncLoading函數
obj spikemarkcheck // 與上一次obj spikemark的結果進行對比,打印出在spikemark之后創建又刪除的object對象
[2020.12.07-06.46.45:838][380]LogObj: Spikemarking objects [2020.12.07-06.46.51:962][435]LogTemp: New two Objects [2020.12.07-06.46.58:093][542]Collecting garbage and resetting GC timer. [2020.12.07-06.46.58:115][542]LogUObjectArray: Warning: Empty slot [2020.12.07-06.46.58:116][542]LogUObjectArray: Warning: Empty slot [2020.12.07-06.46.58:118][542]LogUObjectHash: Compacting FUObjectHashTables data took 2.19ms [2020.12.07-06.47.00:862][814]LogObj: Spikemarked (created and then destroyed) objects: [2020.12.07-06.47.00:863][814]LogObj: MyObject /Engine/Transient.MyObject_7 [2020.12.07-06.47.00:863][814]LogObj: MyObject /Engine/Transient.MyObject_6
obj classes // 按繼承關系列出所有加載到內存的Object類型(含所有的Native和已加載的Blueprint)
[2020.11.13-06.43.54:974][607]Object (48) [2020.11.13-06.43.54:974][607] GCObjectReferencer (120) [2020.11.13-06.43.54:974][607] TextBuffer (88) [2020.11.13-06.43.54:975][607] Field (56) [2020.11.13-06.43.54:975][607] Struct (192) [2020.11.13-06.43.54:975][607] ScriptStruct (208) [2020.11.13-06.43.54:976][607] MovieSceneKeyStructType (400) [2020.11.13-06.43.54:976][607] UserDefinedStruct (312) [2020.11.13-06.43.54:976][607] AISenseBlueprintListener (312) [2020.11.13-06.43.54:977][607] Class (632) [2020.11.13-06.43.54:977][607] DynamicClass (760) [2020.11.13-06.43.54:977][607] LinkerPlaceholderClass (1072) [2020.11.13-06.43.54:978][607] BlueprintGeneratedClass (1512) [2020.11.13-06.43.54:978][607] WidgetBlueprintGeneratedClass (1640) [2020.11.13-06.43.54:978][607] AnimBlueprintGeneratedClass (2632) [2020.11.13-06.43.54:979][607] Function (240) [2020.11.13-06.43.54:979][607] DelegateFunction (240) [2020.11.13-06.43.54:979][607] SparseDelegateFunction (264) [2020.11.13-06.43.54:980][607] LinkerPlaceholderFunction (680) [2020.11.13-06.43.54:980][607] Enum (104) [2020.11.13-06.43.54:980][607] UserDefinedEnum (216) [2020.11.13-06.43.54:981][607] Property (136) [2020.11.13-06.43.54:981][607] EnumProperty (152) [2020.11.13-06.43.54:981][607] ArrayProperty (144) [2020.11.13-06.43.54:982][607] ObjectPropertyBase (144) [2020.11.13-06.43.54:982][607] ObjectProperty (144) [2020.11.13-06.43.54:982][607] ClassProperty (152) [2020.11.13-06.43.54:983][607] LazyObjectProperty (144) [2020.11.13-06.43.54:983][607] SoftObjectProperty (144) [2020.11.13-06.43.54:983][607] SoftClassProperty (152) [2020.11.13-06.43.54:984][607] WeakObjectProperty (144) [2020.11.13-06.43.54:984][607] BoolProperty (144) [2020.11.13-06.43.54:984][607] NumericProperty (136) [2020.11.13-06.43.54:985][607] ByteProperty (144) [2020.11.13-06.43.54:985][607] DoubleProperty (136) [2020.11.13-06.43.54:985][607] FloatProperty (136) [2020.11.13-06.43.54:986][607] IntProperty (136) [2020.11.13-06.43.54:986][607] Int8Property (136) [2020.11.13-06.43.54:986][607] Int16Property (136) [2020.11.13-06.43.54:987][607] Int64Property (136) [2020.11.13-06.43.54:987][607] UInt16Property (136) [2020.11.13-06.43.54:987][607] UInt32Property (136) [2020.11.13-06.43.54:988][607] UInt64Property (136) [2020.11.13-06.43.54:988][607] DelegateProperty (144) [2020.11.13-06.43.54:988][607] InterfaceProperty (144) [2020.11.13-06.43.54:989][607] MapProperty (176) [2020.11.13-06.43.54:989][607] MulticastDelegateProperty (144) [2020.11.13-06.43.54:989][607] MulticastInlineDelegateProperty (144) [2020.11.13-06.43.54:990][607] MulticastSparseDelegateProperty (144) [2020.11.13-06.43.54:990][607] NameProperty (136) [2020.11.13-06.43.54:990][607] SetProperty (168) [2020.11.13-06.43.54:991][607] StrProperty (136) [2020.11.13-06.43.54:991][607] StructProperty (144) [2020.11.13-06.43.54:991][607] TextProperty (136) [2020.11.13-06.43.54:992][607] Package (224) [2020.11.13-06.43.54:992][607] ... ... [2020.11.13-06.43.54:992][607] ... ... [2020.11.13-06.43.56:037][607] MyBPObject (48) [2020.11.13-06.43.56:038][607] MyBlueprintObject_C (64) [2020.11.13-06.43.56:038][607] SKEL_MyBlueprintObject_C (80) [2020.11.13-06.43.56:038][607] REINST_MyBlueprintObject_C_9 (64) [2020.11.13-06.43.56:039][607] MyObject (48) [2020.11.13-06.43.56:039][607] MyTestObject (56) [2020.11.13-06.43.56:039][607] MyPluginObject (64) [2020.11.13-06.43.56:040][607] ... ... [2020.11.13-06.43.56:040][607] ... ...
注1:MyBlueprintObject_C為從MyBPObject派生的Blueprint的Object類型
注2:右邊括號中的數字為該類型的內存Size 例如:UObject的sizeof為48
obj intrinsicclasses // 打印出內在的Native類型(CLASS_Native & CLASS_Intrinsic)
obj bulk // 打印出大塊的數據
obj list class=MyBlueprintObject_C // 查看所有MyBlueprintObject_C類型的對象(不包括CDO對象)
UCLASS(config=Game) class AMyTest1Character : public ACharacter { GENERATED_BODY() // ... ... public: UPROPERTY() UMyBPObject* m_BPObj1; UPROPERTY() UClass* m_MyBPObjectClass; }; void AMyTest1Character::OnResetVR() // 按R快捷鍵觸發執行 { FString MyBPObjectPath = TEXT("/Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C"); m_MyBPObjectClass = LoadClass<UObject>(nullptr, *MyBPObjectPath); // MyBPObjectClass為UBlueprintGeneratedClass*類型 m_BPObj1 = NewObject<UMyBPObject>(this, m_MyBPObjectClass); }
結果輸出如下:
Obj List: class=MyBlueprintObject_C
Objects:
Object NumKB MaxKB ResExcKB ResExcDedSysKB ResExcShrSysKB ResExcDedVidKB ResExcShrVidKB ResExcUnkKB
MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0 0.08 0.08 0.00 0.00 0.00 0.00 0.00 0.00
Class Count NumKB MaxKB ResExcKB ResExcDedSysKB ResExcShrSysKB ResExcDedVidKB ResExcShrVidKB ResExcUnkKB
MyBlueprintObject_C 1 0.08 0.08 0.00 0.00 0.00 0.00 0.00 0.00
1 Objects (Total: 0.000M / Max: 0.000M / Res: 0.000M | ResDedSys: 0.000M / ResShrSys: 0.000M / ResDedVid: 0.000M / ResShrVid: 0.000M / ResUnknown: 0.000M)
注1:NumKB為對象大小,MaxKB為對象大小峰值,ResExcKB為對象引用資源的總大小
注2:個數 Objects (Total: NumKB之和 / Max: MaxKB之和 / Res: ResExcKB之和 | ResDedSys: ResExcDedSysKB之和 / ResShrSys: ResExcShrSysKB之和 / ResDedVid: ResExcDedVidKB之和 / ResShrVid: ResExcShrVidKB之和 / ResUnknown: ResExcUnkKB之和)
注3:Res為resource、Exc為exclusive、Ded為dedicated、Shr為share、Sys為system memory、Vid為video memory
obj list class=object // 查看所有的object類型的對象統計表(不列出所有的Object對象,不包括CDO對象)
Obj List: class=object
Objects:
Class Count NumKB MaxKB ResExcKB ResExcDedSysKB ResExcShrSysKB ResExcDedVidKB ResExcShrVidKB ResExcUnkKB
Class 3264 8617.26 10784.09 0.00 0.00 0.00 0.00 0.00 0.00
MetaData 374 7476.45 7476.45 0.00 0.00 0.00 0.00 0.00 0.00
ScriptStruct 1876 3553.06 4659.76 0.00 0.00 0.00 0.00 0.00 0.00
FontFace 6 4649.06 4649.06 4647.39 4647.39 0.00 0.00 0.00 0.00
Function 6729 1708.92 2090.55 0.00 0.00 0.00 0.00 0.00 0.00
SkeletalMesh 1 1176.95 1224.44 555.93 18.59 0.00 0.00 0.00 537.34
Package 485 800.45 879.53 0.00 0.00 0.00 0.00 0.00 0.00
DeviceProfile 85 407.86 659.87 0.00 0.00 0.00 0.00 0.00 0.00
Enum 1075 259.39 623.61 0.00 0.00 0.00 0.00 0.00 0.00
Material 80 324.80 368.34 4125.33 4125.33 0.00 0.00 0.00 0.00
AnimSequence 6 180.14 181.58 0.00 0.00 0.00 0.00 0.00 0.00
StaticMesh 34 84.04 94.85 2219.52 27.63 0.00 0.00 0.00 2191.89
DelegateFunction 289 74.09 92.49 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionMultiply 160 55.16 81.41 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionTextureSample 60 44.11 78.33 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionCustom 67 59.12 70.11 0.00 0.00 0.00 0.00 0.00 0.00
Texture2D 82 62.85 62.85 52455.38 0.00 0.00 52455.38 0.00 0.00
K2Node_CallFunction 146 56.48 56.57 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionVectorParameter 50 25.82 55.90 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionConstant 132 31.18 52.84 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionAdd 92 31.78 46.87 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionComment 97 30.84 46.75 0.00 0.00 0.00 0.00 0.00 0.00
StaticMeshComponent 21 43.71 46.06 52.10 52.10 0.00 0.00 0.00 0.00
MaterialExpressionMaterialFunctionCall 63 38.00 43.89 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionFunctionInput 61 30.25 40.26 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionReroute 79 22.24 35.20 0.00 0.00 0.00 0.00 0.00 0.00
BodySetup 37 34.31 34.78 541.94 541.94 0.00 0.00 0.00 0.00
BlueprintGeneratedClass 11 25.25 30.32 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionLinearInterpolate 51 22.19 29.36 0.00 0.00 0.00 0.00 0.00 0.00
MaterialInstanceDynamic 10 18.52 27.88 5.41 5.41 0.00 0.00 0.00 0.00
MaterialExpressionFunctionOutput 49 18.47 26.51 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionComponentMask 55 17.19 24.92 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionDivide 46 16.13 23.68 0.00 0.00 0.00 0.00 0.00 0.00
Font 5 23.16 23.26 0.00 0.00 0.00 0.00 0.00 0.00
MaterialInstanceConstant 13 22.19 22.34 156.55 156.55 0.00 0.00 0.00 0.00
MaterialExpressionClamp 39 15.93 22.32 0.00 0.00 0.00 0.00 0.00 0.00
AnimGraphNode_SequencePlayer 9 13.45 21.12 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionTextureSampleParameter2D 14 12.58 20.23 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionTextureCoordinate 49 11.87 19.91 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_VariableGet 55 19.80 19.80 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_Tunnel 48 18.78 18.78 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionFeatureLevelSwitch 28 14.05 18.64 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionSubtract 35 12.23 17.97 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionScalarParameter 37 10.70 16.77 0.00 0.00 0.00 0.00 0.00 0.00
MaterialFunction 28 13.73 15.11 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionAppendVector 28 10.06 14.00 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionMakeMaterialAttributes 7 12.30 13.45 0.00 0.00 0.00 0.00 0.00 0.00
SkeletalMeshComponent 1 12.80 13.25 8.38 1.30 0.00 0.00 0.00 7.08
AnimBlueprintGeneratedClass 2 7.93 13.20 0.00 0.00 0.00 0.00 0.00 0.00
SparseDelegateFunction 33 9.82 13.17 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionConstant3Vector 32 8.65 13.15 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionSceneTexture 29 10.20 13.14 0.00 0.00 0.00 0.00 0.00 0.00
AssetImportData 137 12.84 12.84 0.00 0.00 0.00 0.00 0.00 0.00
StaticMeshActor 17 12.70 12.70 0.00 0.00 0.00 0.00 0.00 0.00
EdGraph 49 11.85 12.40 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionIf 18 9.33 12.28 0.00 0.00 0.00 0.00 0.00 0.00
SceneThumbnailInfoWithPrimitive 111 12.14 12.14 0.00 0.00 0.00 0.00 0.00 0.00
Blueprint 4 11.73 11.73 0.00 0.00 0.00 0.00 0.00 0.00
Skeleton 1 10.93 10.96 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionStaticSwitchParameter 19 7.42 10.54 0.00 0.00 0.00 0.00 0.00 0.00
PlayerCameraManager 1 10.27 10.45 0.00 0.00 0.00 0.00 0.00 0.00
AnimGraphNode_StateResult 12 7.27 9.96 0.00 0.00 0.00 0.00 0.00 0.00
MapBuildDataRegistry 1 9.88 9.96 0.00 0.00 0.00 0.00 0.00 0.00
GameEngine 1 9.05 9.74 0.00 0.00 0.00 0.00 0.00 0.00
EdGraphNode_Comment 27 9.43 9.43 0.00 0.00 0.00 0.00 0.00 0.00
AnimStateTransitionNode 8 9.31 9.31 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_FunctionEntry 18 9.22 9.24 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionDotProduct 18 6.47 9.00 0.00 0.00 0.00 0.00 0.00 0.00
Button 6 8.80 8.92 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionConstant2Vector 22 5.67 8.77 0.00 0.00 0.00 0.00 0.00 0.00
Model 3 8.76 8.76 0.00 0.00 0.00 0.00 0.00 0.00
AnimGraphNode_BlendSpacePlayer 3 5.99 8.36 0.00 0.00 0.00 0.00 0.00 0.00
NavCollision 32 8.25 8.25 27.79 27.79 0.00 0.00 0.00 0.00
AnimGraphNode_TransitionResult 12 7.69 7.96 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionVertexColor 8 2.81 7.63 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionAbs 17 4.78 7.57 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_AssignmentStatement 34 7.15 7.15 0.00 0.00 0.00 0.00 0.00 0.00
ThumbnailManager 1 5.71 7.00 0.00 0.00 0.00 0.00 0.00 0.00
AnimStateNode 8 7.00 7.00 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_TemporaryVariable 17 6.70 6.70 0.00 0.00 0.00 0.00 0.00 0.00
Polys 3 4.88 6.56 0.00 0.00 0.00 0.00 0.00 0.00
TextBlock 6 6.52 6.52 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_MacroInstance 11 6.44 6.44 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionPower 12 4.18 6.15 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionShadingPathSwitch 10 4.45 6.09 0.00 0.00 0.00 0.00 0.00 0.00
WidgetBlueprintGeneratedClass 2 4.39 5.68 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_IfThenElse 24 5.42 5.42 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_StructMemberGet 2 3.00 5.41 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionBreakMaterialAttributes 3 3.40 5.39 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionNormalize 12 3.66 5.34 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionTextureObjectParameter 6 4.45 5.30 0.00 0.00 0.00 0.00 0.00 0.00
LineBatchComponent 3 3.70 5.11 1.50 1.50 0.00 0.00 0.00 0.00
BrushComponent 3 3.70 5.02 0.96 0.96 0.00 0.00 0.00 0.00
MaterialExpressionSphereMask 8 3.67 4.98 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_Event 9 4.74 4.91 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionFloor 11 3.09 4.90 0.00 0.00 0.00 0.00 0.00 0.00
SceneComponent 9 4.66 4.73 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionOneMinus 10 2.85 4.49 0.00 0.00 0.00 0.00 0.00 0.00
LightMapTexture2D 6 4.41 4.41 2568.19 0.00 0.00 2568.19 0.00 0.00
K2Node_VariableSet 9 4.40 4.40 0.00 0.00 0.00 0.00 0.00 0.00
FbxStaticMeshImportData 20 4.22 4.22 0.00 0.00 0.00 0.00 0.00 0.00
CameraComponent 2 4.06 4.09 0.00 0.00 0.00 0.00 0.00 0.00
Console 1 3.46 4.02 0.00 0.00 0.00 0.00 0.00 0.00
ParticleSystemComponent 1 3.13 3.94 3.17 1.13 0.00 0.00 0.00 2.05
CurveLinearColor 3 3.62 3.79 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionFrac 8 2.28 3.59 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionWorldPosition 9 2.11 3.59 0.00 0.00 0.00 0.00 0.00 0.00
CapsuleComponent 2 2.45 3.53 0.93 0.93 0.00 0.00 0.00 0.00
World 1 2.72 3.40 0.00 0.00 0.00 0.00 0.00 0.00
DrawFrustumComponent 2 2.41 3.34 0.00 0.00 0.00 0.00 0.00 0.00
DrawSphereComponent 2 2.41 3.34 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionTransform 7 2.02 3.17 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_CommutativeAssociativeBinaryOperator 8 3.15 3.15 0.00 0.00 0.00 0.00 0.00 0.00
InputComponent 4 1.69 3.00 0.00 0.00 0.00 0.00 0.00 0.00
AnimGraphNode_StateMachine 2 1.75 2.96 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionStaticSwitch 5 1.99 2.81 0.00 0.00 0.00 0.00 0.00 0.00
SceneThumbnailInfo 45 2.81 2.81 0.00 0.00 0.00 0.00 0.00 0.00
AnimationTransitionGraph 12 2.70 2.79 0.00 0.00 0.00 0.00 0.00 0.00
AnimationStateGraph 12 2.67 2.74 0.00 0.00 0.00 0.00 0.00 0.00
Image 3 2.65 2.65 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionDesaturation 5 1.88 2.58 0.00 0.00 0.00 0.00 0.00 0.00
ThirdPerson_AnimBP_C 1 2.57 2.57 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionDistance 5 1.68 2.50 0.00 0.00 0.00 0.00 0.00 0.00
Level 1 2.31 2.49 0.00 0.00 0.00 0.00 0.00 0.00
PlayerInput 1 2.47 2.47 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_ExecutionSequence 12 2.44 2.44 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionCameraPositionWS 6 1.50 2.34 0.00 0.00 0.00 0.00 0.00 0.00
CameraAnimInst 8 2.25 2.25 0.00 0.00 0.00 0.00 0.00 0.00
StructProperty 16 2.25 2.25 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionCeil 5 1.41 2.23 0.00 0.00 0.00 0.00 0.00 0.00
PostProcessVolume 1 2.18 2.18 0.00 0.00 0.00 0.00 0.00 0.00
AnimCompress_PerTrackCompression 8 2.14 2.17 0.00 0.00 0.00 0.00 0.00 0.00
CameraActor 1 2.11 2.11 0.00 0.00 0.00 0.00 0.00 0.00
CanvasPanelSlot 9 2.04 2.04 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_Knot 10 2.03 2.03 0.00 0.00 0.00 0.00 0.00 0.00
AnimBlueprint 1 2.01 2.03 0.00 0.00 0.00 0.00 0.00 0.00
NavigationSystemV1 1 1.51 2.02 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionScreenPosition 5 1.29 1.95 0.00 0.00 0.00 0.00 0.00 0.00
WorldSettings 1 1.84 1.86 0.00 0.00 0.00 0.00 0.00 0.00
MaterialBillboardComponent 1 1.23 1.81 1.27 1.27 0.00 0.00 0.00 0.00
CanvasPanel 3 1.80 1.80 0.00 0.00 0.00 0.00 0.00 0.00
TextRenderComponent 1 1.25 1.72 1.39 1.39 0.00 0.00 0.00 0.00
PlayerController 1 1.63 1.72 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionPanner 3 1.22 1.71 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_StructMemberSet 2 1.19 1.70 0.00 0.00 0.00 0.00 0.00 0.00
ThirdPersonCharacter_C 1 1.66 1.66 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionTime 4 0.94 1.59 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionStaticBool 4 0.94 1.59 0.00 0.00 0.00 0.00 0.00 0.00
CharacterMovementComponent 1 1.56 1.56 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionPixelNormalWS 4 1.00 1.56 0.00 0.00 0.00 0.00 0.00 0.00
UserDefinedEnum 5 1.55 1.55 0.00 0.00 0.00 0.00 0.00 0.00
LevelScriptBlueprint 1 1.41 1.54 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionMin 3 1.03 1.52 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_InputKey 5 1.52 1.52 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionSpriteTextureSampler 1 0.93 1.48 0.00 0.00 0.00 0.00 0.00 0.00
ShadowMapTexture2D 2 1.47 1.47 2733.33 0.00 0.00 2733.33 0.00 0.00
Canvas 2 1.44 1.44 0.00 0.00 0.00 0.00 0.00 0.00
InputKeyDelegateBinding 1 0.38 1.44 0.00 0.00 0.00 0.00 0.00 0.00
VolumeTexture 2 1.44 1.44 8.06 0.00 0.00 0.00 0.00 8.06
WidgetBlueprint 1 1.41 1.43 0.00 0.00 0.00 0.00 0.00 0.00
FbxAnimSequenceImportData 6 1.42 1.42 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_TransitionRuleGetter 6 1.41 1.41 0.00 0.00 0.00 0.00 0.00 0.00
TextureCube 2 1.38 1.38 16448.06 0.00 0.00 16448.06 0.00 0.00
MaterialExpressionConstantBiasScale 3 0.87 1.36 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionSquareRoot 3 0.84 1.34 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionParticleSubUV 1 0.77 1.31 0.00 0.00 0.00 0.00 0.00 0.00
AnimGraphNode_Root 2 1.21 1.29 0.00 0.00 0.00 0.00 0.00 0.00
TextureRenderTarget2D 2 1.28 1.28 0.01 0.00 0.00 0.00 0.00 0.01
AnimStateEntryNode 2 1.25 1.25 0.00 0.00 0.00 0.00 0.00 0.00
AbstractNavData 1 1.23 1.23 0.00 0.00 0.00 0.00 0.00 0.00
GameplayDebuggerRenderingComponent 1 1.23 1.23 0.00 0.00 0.00 0.00 0.00 0.00
SCS_Node 4 1.23 1.23 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionTextureObject 3 0.80 1.22 0.00 0.00 0.00 0.00 0.00 0.00
AssetManager 1 1.22 1.22 0.00 0.00 0.00 0.00 0.00 0.00
DeviceProfileManager 1 0.84 1.20 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionViewSize 3 0.68 1.17 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionSceneTexelSize 3 0.68 1.17 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_SetVariableOnPersistentFrame 6 1.17 1.17 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionTwoSidedSign 3 0.68 1.17 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionCameraVectorWS 3 0.68 1.17 0.00 0.00 0.00 0.00 0.00 0.00
AtmosphericFogComponent 1 1.11 1.11 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_CustomEvent 2 1.09 1.09 0.00 0.00 0.00 0.00 0.00 0.00
GameplayTagsManager 1 1.01 1.07 0.00 0.00 0.00 0.00 0.00 0.00
SkyLightComponent 1 1.06 1.06 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_CallArrayFunction 3 1.03 1.03 0.00 0.00 0.00 0.00 0.00 0.00
PlayerState 1 1.02 1.02 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionFontSampleParameter 1 0.48 1.02 0.00 0.00 0.00 0.00 0.00 0.00
DocumentationActor 1 0.92 1.01 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionFmod 2 0.67 1.00 0.00 0.00 0.00 0.00 0.00 0.00
NewWidgetBlueprint_C 1 0.98 0.98 0.00 0.00 0.00 0.00 0.00 0.00
DirectionalLightComponent 1 0.97 0.97 0.00 0.00 0.00 0.00 0.00 0.00
HUD 1 0.96 0.96 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionParticleColor 1 0.38 0.95 0.00 0.00 0.00 0.00 0.00 0.00
BP_Sky_Sphere_C 1 0.92 0.92 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_VariableSetRef 4 0.91 0.91 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_ComponentBoundEvent 2 0.91 0.91 0.00 0.00 0.00 0.00 0.00 0.00
MyTest1GameMode 1 0.90 0.90 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionDDX 2 0.56 0.89 0.00 0.00 0.00 0.00 0.00 0.00
GameNetworkManager 1 0.89 0.89 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionDDY 2 0.56 0.89 0.00 0.00 0.00 0.00 0.00 0.00
GameViewportClient 1 0.84 0.84 0.00 0.00 0.00 0.00 0.00 0.00
BoolProperty 6 0.84 0.84 0.00 0.00 0.00 0.00 0.00 0.00
GameplayDebuggerPlayerManager 1 0.77 0.84 0.00 0.00 0.00 0.00 0.00 0.00
GameplayDebuggerCategoryReplicator 1 0.84 0.84 0.00 0.00 0.00 0.00 0.00 0.00
LightmassImportanceVolume 1 0.84 0.84 0.00 0.00 0.00 0.00 0.00 0.00
AnimCompress_RemoveLinearKeys 6 0.83 0.83 0.00 0.00 0.00 0.00 0.00 0.00
GameStateBase 1 0.80 0.83 0.00 0.00 0.00 0.00 0.00 0.00
Emitter 1 0.82 0.82 0.00 0.00 0.00 0.00 0.00 0.00
PlayerStart 1 0.81 0.81 0.00 0.00 0.00 0.00 0.00 0.00
FloatProperty 6 0.80 0.80 0.00 0.00 0.00 0.00 0.00 0.00
DefaultPhysicsVolume 1 0.79 0.79 0.00 0.00 0.00 0.00 0.00 0.00
SphereReflectionCapture 1 0.79 0.79 0.00 0.00 0.00 0.00 0.00 0.00
ThirdPersonExampleMap_C 1 0.78 0.78 0.00 0.00 0.00 0.00 0.00 0.00
DirectionalLight 1 0.77 0.77 0.00 0.00 0.00 0.00 0.00 0.00
AtmosphericFog 1 0.76 0.76 0.00 0.00 0.00 0.00 0.00 0.00
TextRenderActor 1 0.76 0.76 0.00 0.00 0.00 0.00 0.00 0.00
SkyLight 1 0.75 0.75 0.00 0.00 0.00 0.00 0.00 0.00
GameSession 1 0.75 0.75 0.00 0.00 0.00 0.00 0.00 0.00
BlendSpace1D 1 0.73 0.73 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_DynamicCast 3 0.73 0.73 0.00 0.00 0.00 0.00 0.00 0.00
ParticleEventManager 1 0.71 0.71 0.00 0.00 0.00 0.00 0.00 0.00
PaperSprite 1 0.70 0.70 0.00 0.00 0.00 0.00 0.00 0.00
SphereReflectionCaptureComponent 1 0.67 0.69 0.00 0.00 0.00 0.00 0.00 0.00
SpringArmComponent 1 0.66 0.69 0.00 0.00 0.00 0.00 0.00 0.00
CubeBuilder 1 0.64 0.64 0.00 0.00 0.00 0.00 0.00 0.00
AnimationStateMachineGraph 2 0.64 0.64 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_GetArrayItem 3 0.63 0.63 0.00 0.00 0.00 0.00 0.00 0.00
InterpGroupInst 8 0.63 0.63 0.00 0.00 0.00 0.00 0.00 0.00
ButtonSlot 6 0.61 0.61 0.00 0.00 0.00 0.00 0.00 0.00
LocalPlayer 1 0.60 0.60 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_FunctionResult 2 0.59 0.59 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionFresnel 1 0.41 0.57 0.00 0.00 0.00 0.00 0.00 0.00
ParticleSpriteEmitter 1 0.52 0.53 0.00 0.00 0.00 0.00 0.00 0.00
ParticleSystem 1 0.52 0.52 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionSceneDepth 1 0.35 0.52 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionDepthFade 1 0.37 0.51 0.00 0.00 0.00 0.00 0.00 0.00
K2Node_CreateWidget 1 0.41 0.50 0.00 0.00 0.00 0.00 0.00 0.00
EnvQueryManager 1 0.49 0.49 0.00 0.00 0.00 0.00 0.00 0.00
SoundSubmix 3 0.48 0.48 0.00 0.00 0.00 0.00 0.00 0.00
AnimationGraphSchema 1 0.46 0.46 0.00 0.00 0.00 0.00 0.00 0.00
ParticleLODLevel 1 0.36 0.46 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionSine 1 0.29 0.45 0.00 0.00 0.00 0.00 0.00 0.00
AnimationGraph 2 0.44 0.45 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionSaturate 1 0.28 0.45 0.00 0.00 0.00 0.00 0.00 0.00
GameInstance 1 0.42 0.45 0.00 0.00 0.00 0.00 0.00 0.00
SimpleConstructionScript 2 0.43 0.43 0.00 0.00 0.00 0.00 0.00 0.00
DistributionFloatConstant 6 0.42 0.42 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionConstant4Vector 1 0.27 0.41 0.00 0.00 0.00 0.00 0.00 0.00
SequencerSettings 2 0.41 0.41 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionViewProperty 1 0.27 0.40 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionObjectPositionWS 1 0.25 0.39 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionLightmapUVs 1 0.23 0.39 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionObjectRadius 1 0.23 0.39 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionPixelDepth 1 0.23 0.39 0.00 0.00 0.00 0.00 0.00 0.00
MaterialExpressionVertexNormalWS 1 0.25 0.39 0.00 0.00 0.00 0.00 0.00 0.00
CrowdManager 1 0.36 0.36 0.00 0.00 0.00 0.00 0.00 0.00
DistributionVectorConstantCurve 2 0.36 0.36 0.00 0.00 0.00 0.00 0.00 0.00
EdGraphSchema_K2 1 0.34 0.34 0.00 0.00 0.00 0.00 0.00 0.00
AISystem 1 0.34 0.34 0.00 0.00 0.00 0.00 0.00 0.00
ParticleModuleColorOverLife 1 0.33 0.33 0.00 0.00 0.00 0.00 0.00 0.00
AnimCompress_BitwiseCompressOnly 3 0.33 0.33 0.00 0.00 0.00 0.00 0.00 0.00
ParticleModuleRequired 1 0.32 0.32 0.00 0.00 0.00 0.00 0.00 0.00
GameplayDebuggerLocalController 1 0.31 0.31 0.00 0.00 0.00 0.00 0.00 0.00
AIPerceptionSystem 1 0.31 0.31 0.00 0.00 0.00 0.00 0.00 0.00
DistributionFloatConstantCurve 2 0.31 0.31 0.00 0.00 0.00 0.00 0.00 0.00
OnlineEngineInterfaceImpl 1 0.30 0.30 0.00 0.00 0.00 0.00 0.00 0.00
SignificanceManager 1 0.30 0.30 0.00 0.00 0.00 0.00 0.00 0.00
GameUserSettings 1 0.29 0.29 0.00 0.00 0.00 0.00 0.00 0.00
ObjectProperty 2 0.28 0.28 0.00 0.00 0.00 0.00 0.00 0.00
LandscapeInfoMap 2 0.27 0.27 0.00 0.00 0.00 0.00 0.00 0.00
IntProperty 2 0.27 0.27 0.00 0.00 0.00 0.00 0.00 0.00
SkeletalMeshEditorData 1 0.26 0.26 0.00 0.00 0.00 0.00 0.00 0.00
ParticleModuleSpawn 1 0.26 0.26 0.00 0.00 0.00 0.00 0.00 0.00
AvoidanceManager 1 0.25 0.25 0.00 0.00 0.00 0.00 0.00 0.00
ParticleModuleLocationPrimitiveSphere 1 0.24 0.24 0.00 0.00 0.00 0.00 0.00 0.00
NUTGlobals 1 0.21 0.24 0.00 0.00 0.00 0.00 0.00 0.00
ParticleModuleSizeMultiplyLife 1 0.23 0.23 0.00 0.00 0.00 0.00 0.00 0.00
SubmixEffectReverbFastPreset 1 0.22 0.22 0.00 0.00 0.00 0.00 0.00 0.00
WidgetTree 3 0.21 0.21 0.00 0.00 0.00 0.00 0.00 0.00
DistributionFloatUniform 3 0.21 0.21 0.00 0.00 0.00 0.00 0.00 0.00
ParticleModuleVelocity 1 0.21 0.21 0.00 0.00 0.00 0.00 0.00 0.00
DistributionVectorUniform 2 0.20 0.20 0.00 0.00 0.00 0.00 0.00 0.00
ComponentDelegateBinding 1 0.13 0.20 0.00 0.00 0.00 0.00 0.00 0.00
SoundClass 1 0.20 0.20 0.00 0.00 0.00 0.00 0.00 0.00
ShaderPlatformQualitySettings 2 0.19 0.19 0.00 0.00 0.00 0.00 0.00 0.00
TextureThumbnailRenderer 4 0.19 0.19 0.00 0.00 0.00 0.00 0.00 0.00
CameraModifier_CameraShake 1 0.18 0.18 0.00 0.00 0.00 0.00 0.00 0.00
BookMark 2 0.17 0.17 0.00 0.00 0.00 0.00 0.00 0.00
PaperTerrainMaterial 1 0.16 0.16 0.00 0.00 0.00 0.00 0.00 0.00
AnimBoneCompressionSettings 1 0.16 0.16 0.00 0.00 0.00 0.00 0.00 0.00
MaterialInstanceThumbnailRenderer 2 0.16 0.16 0.00 0.00 0.00 0.00 0.00 0.00
LandscapeSubsystem 1 0.16 0.16 0.00 0.00 0.00 0.00 0.00 0.00
ParticleModuleSize 1 0.15 0.15 0.00 0.00 0.00 0.00 0.00 0.00
MaterialShaderQualitySettings 1 0.15 0.15 0.00 0.00 0.00 0.00 0.00 0.00
SubmixEffectSubmixEQPreset 1 0.14 0.14 0.00 0.00 0.00 0.00 0.00 0.00
PhysicalMaterial 1 0.13 0.13 0.00 0.00 0.00 0.00 0.00 0.00
AnimBlueprintThumbnailRenderer 1 0.13 0.13 0.00 0.00 0.00 0.00 0.00 0.00
BlueprintThumbnailRenderer 1 0.13 0.13 0.00 0.00 0.00 0.00 0.00 0.00
ClassThumbnailRenderer 1 0.13 0.13 0.00 0.00 0.00 0.00 0.00 0.00
LandscapeLayerInfoObject 1 0.13 0.13 0.00 0.00 0.00 0.00 0.00 0.00
NiagaraComponentPool 1 0.13 0.13 0.00 0.00 0.00 0.00 0.00 0.00
ParticleModuleSubUV 1 0.13 0.13 0.00 0.00 0.00 0.00 0.00 0.00
CheatManager 1 0.13 0.13 0.00 0.00 0.00 0.00 0.00 0.00
GCObjectReferencer 1 0.12 0.12 0.00 0.00 0.00 0.00 0.00 0.00
ParticleModuleRotation 1 0.11 0.11 0.00 0.00 0.00 0.00 0.00 0.00
ParticleModuleLifetime 1 0.11 0.11 0.00 0.00 0.00 0.00 0.00 0.00
NavigationSystemConfig 1 0.10 0.10 0.00 0.00 0.00 0.00 0.00 0.00
NavLocalGridManager 1 0.09 0.09 0.00 0.00 0.00 0.00 0.00 0.00
BehaviorTreeManager 1 0.09 0.09 0.00 0.00 0.00 0.00 0.00 0.00
DistributionVectorConstant 1 0.09 0.09 0.00 0.00 0.00 0.00 0.00 0.00
AndroidPermissionCallbackProxy 1 0.08 0.08 0.00 0.00 0.00 0.00 0.00 0.00
AnimCurveCompressionCodec_CompressedRichCurve 1 0.08 0.08 0.00 0.00 0.00 0.00 0.00 0.00
Layer 1 0.08 0.08 0.00 0.00 0.00 0.00 0.00 0.00
ParticleModuleAccelerationConstant 1 0.08 0.08 0.00 0.00 0.00 0.00 0.00 0.00
AutoDestroySubsystem 1 0.08 0.08 0.00 0.00 0.00 0.00 0.00 0.00
ParticleSystemThumbnailRenderer 1 0.07 0.07 0.00 0.00 0.00 0.00 0.00 0.00
WorldThumbnailInfo 1 0.07 0.07 0.00 0.00 0.00 0.00 0.00 0.00
PhysicsCollisionHandler 1 0.07 0.07 0.00 0.00 0.00 0.00 0.00 0.00
WorldThumbnailRenderer 1 0.07 0.07 0.00 0.00 0.00 0.00 0.00 0.00
VolumeTextureThumbnailRenderer 1 0.07 0.07 0.00 0.00 0.00 0.00 0.00 0.00
SystemTimeTimecodeProvider 1 0.07 0.07 0.00 0.00 0.00 0.00 0.00 0.00
PhysicsAssetThumbnailRenderer 1 0.06 0.06 0.00 0.00 0.00 0.00 0.00 0.00
BlendSpaceThumbnailRenderer 1 0.06 0.06 0.00 0.00 0.00 0.00 0.00 0.00
MaterialFunctionThumbnailRenderer 1 0.06 0.06 0.00 0.00 0.00 0.00 0.00 0.00
AnimSequenceThumbnailRenderer 1 0.06 0.06 0.00 0.00 0.00 0.00 0.00 0.00
MediaPlaylist 1 0.06 0.06 0.00 0.00 0.00 0.00 0.00 0.00
ObjectTraceWorldSubsystem 1 0.06 0.06 0.00 0.00 0.00 0.00 0.00 0.00
SkeletalMeshThumbnailRenderer 1 0.06 0.06 0.00 0.00 0.00 0.00 0.00 0.00
GeometryCacheThumbnailRenderer 1 0.06 0.06 0.00 0.00 0.00 0.00 0.00 0.00
StaticMeshThumbnailRenderer 1 0.06 0.06 0.00 0.00 0.00 0.00 0.00 0.00
LevelThumbnailRenderer 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00
SlateBrushThumbnailRenderer 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00
AssetTagsSubsystem 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00
AnimCurveCompressionSettings 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00
CurveLinearColorThumbnailRenderer 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00
SoundWaveThumbnailRenderer 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00
SubsurfaceProfileRenderer 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00
OnlineSession 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00
SequencerSettingsContainer 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00
PhysicalMaterialMaskThumbnailRenderer 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00
FontThumbnailRenderer 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00
TextureCubeThumbnailRenderer 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00
Texture2DArrayThumbnailRenderer 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00
17513 Objects (Total: 30.062M / Max: 34.802M / Res: 84.534M | ResDedSys: 9.386M / ResShrSys: 0.000M / ResDedVid: 72.466M / ResShrVid: 0.000M / ResUnknown: 2.682M)
obj list class=image // 查看所有UImage類型的對象(不包括CDO對象)
Obj List: class=image
Objects:
Object NumKB MaxKB ResExcKB ResExcDedSysKB ResExcShrSysKB ResExcDedVidKB ResExcShrVidKB ResExcUnkKB
Image /Engine/Transient.GameEngine_0:GameInstance_0.NewWidgetBlueprint_C_0.WidgetTree_0.Image_180 0.88 0.88 0.00 0.00 0.00 0.00 0.00 0.00
Image /Game/ThirdPerson/UMG/NewWidgetBlueprint.NewWidgetBlueprint:WidgetTree.Image_180 0.88 0.88 0.00 0.00 0.00 0.00 0.00 0.00
Image /Game/ThirdPerson/UMG/NewWidgetBlueprint.NewWidgetBlueprint_C:WidgetTree.Image_180 0.88 0.88 0.00 0.00 0.00 0.00 0.00 0.00
Class Count NumKB MaxKB ResExcKB ResExcDedSysKB ResExcShrSysKB ResExcDedVidKB ResExcShrVidKB ResExcUnkKB
Image 3 2.65 2.65 0.00 0.00 0.00 0.00 0.00 0.00
3 Objects (Total: 0.003M / Max: 0.003M / Res: 0.000M | ResDedSys: 0.000M / ResShrSys: 0.000M / ResDedVid: 0.000M / ResShrVid: 0.000M / ResUnknown: 0.000M)
obj list forget // 標記當前內存中所有UObjcet,后續執行obj list命令會忽略掉這些對象
obj list remember // 取消對當前內存中所有UObjcet的標記
obj list class=StaticMeshActor // 查看所有AStaticMeshActor類型的對象(不包括CDO對象)
obj list class=SkeletalMeshActor // 查看所有ASkeletalMeshActor類型的對象(不包括CDO對象)
obj list class=UserWidget // 查看所有UUserWidget類型的對象(不包括CDO對象)
obj list class=AkAudioBank // 查看所有AkAudioBank類型的對象(不包括CDO對象)
obj list class=DataTable // 查看所有DataTable類型的對象(不包括CDO對象)
obj list class=Package // 查看所有Package類型的對象(不包括CDO對象)
obj list class=Level -alphasort // 按字母排序來查看所有ULevel類型的對象(不包括CDO對象)
obj list class="SoundWave" -alphasort // 按字母排序來查看所有USoundWave類型的對象(不包括CDO對象)
obj list class="StaticMeshComponent" -alphasort // 按字母排序來查看所有UStaticMeshComponent類型的對象(不包括CDO對象)
obj list class=SkeletalMesh -includedefaults // 查看所有USkeletalMesh類型的對象(包括CDO對象)
obj list class=StaticMesh -nodetailedinfo // 不顯示各個對象的詳細信息,僅顯示UStaticMesh類型的對象統計表
obj list class=actor -countsort -csv // 按數量升序來查看所有AActor類型的對象統計表,且統計表使用逗號分隔符來輸出(不包括CDO對象)
obj list class=TextureRenderTarget2D -alphasort // 按字母排序來查看所有UTextureRenderTarget2D類型的對象(不包括CDO對象) 注:UTextureRenderTarget2D是從UTexture2D上派生
obj list class=TextureCube -alphasort // 按字母排序來查看所有UTextureCube類型的對象(不包括CDO對象) 注:UTextureCube是從UTexture2D上派生
obj list class=VolumeTexture -alphasort // 按字母排序來查看所有UVolumeTexture類型的對象(不包括CDO對象) 注:UVolumeTexture是從UTexture2D上派生
obj list class=texture2d -gconly // 查看所有被gc管理的UTexture2D類型的對象(不包括CDO對象) 注:會剔除一直常駐內存的UTexture2D類型的對象
obj list class=texture2d -gcnoclusters // 查看所有被gc管理的UTexture2D類型的對象(不包括CDO對象) 注:會剔除一直常駐內存和被gc族管理的UTexture2D類型的對象
obj list class=texture2d -rootonly // 查看所有被直接加到root根集的UTexture2D類型的對象(不包括CDO對象)
obj list class=texture2d name=ShadowMapTexture2D_0 // 查看名為ShadowMapTexture2D_0類型為UTexture2D的對象(不包括CDO對象)
obj list class=texture2d outer=ThirdPersonExampleMap_BuiltData // 查看outerThirdPersonExampleMap_BuiltData的所有UTexture2D類型的對象(不包括CDO對象)
obj list class=texture2d package=/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData // 查看/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData包中的所有UTexture2D類型的對象
obj list class=texture2d package=/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData inside=ShadowMapTexture2D_0 // 查看/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData包中名為ShadowMapTexture2D_0的UTexture2D類型的對象
obj list2 class=MyBlueprintObject_C // 查看所有MyBlueprintObject_C類型的對象(不包括CDO對象)
Object InclBytes ExclBytes InclResKBytes ExclResKBytes MyBlueprintObject_C MyBlueprintObject_C_0 86 86 0 0
Obj memsub // 打印大於16KB的所有類型的內存占用信息
Obj MemSub for class 'Object'
Class IncMax IncNum ResExc ResExcDedSys ResExcShrSys ResExcDedVid ResExcShrVid ResExcUnk Count
Class 2094K 1718K 0K 0K 0K 0K 0K 0K 3264
Material 701K 471K 64M 64M 0K 0K 0K 0K 79
MaterialFunction 280K 197K 0K 0K 0K 0K 0K 0K 28
World 206K 189K 0K 0K 0K 0K 0K 0K 1
Level 199K 183K 0K 0K 0K 0K 0K 0K 1
EdGraph 157K 156K 0K 0K 0K 0K 0K 0K 50
Blueprint 125K 125K 0K 0K 0K 0K 0K 0K 5
AnimGraphNode_StateMachine 64K 51K 0K 0K 0K 0K 0K 0K 2
AnimationStateMachineGraph 63K 50K 0K 0K 0K 0K 0K 0K 2
AnimBlueprint 50K 35K 0K 0K 0K 0K 0K 0K 1
StaticMesh 47K 47K 8520K 108K 0K 0K 0K 8412K 34
AnimationGraph 41K 27K 0K 0K 0K 0K 0K 0K 2
StaticMeshActor 38K 38K 0K 0K 0K 0K 0K 0K 17
AnimStateNode 33K 20K 0K 0K 0K 0K 0K 0K 8
AnimationStateGraph 31K 18K 0K 0K 0K 0K 0K 0K 12
ThirdPersonCharacter_C 26K 23K 0K 0K 0K 0K 0K 0K 1
LevelScriptBlueprint 19K 18K 0K 0K 0K 0K 0K 0K 1
BlueprintGeneratedClass 16K 7K 0K 0K 0K 0K 0K 0K 13
(Culled) 168K 145K 72M 181K 0K 71M 0K 1089K 13942
Total 4366K 3525K 145M 64M 0K 71M 0K 9501K 17463
**********************************************
Obj memsub class=MyBlueprintObject_C cull=0 // 打印大於0KB的MyBlueprintObject_C類型的內存占用信息
Obj mem // 打印大於50KB的所有類型及其實例對象的內存占用信息
********************************************** By Outer Hierarchy
1K 0Kx 3 Class /Script/CoreUObject.Object
0K 1 Function /Script/CoreUObject.Object:ExecuteUbergraph
********************************************** By Class Hierarchy
120M 0Kx 3 Class /Script/CoreUObject.Object
Child Classes
75M 8Kx 3 Class /Script/Engine.StreamableRenderAsset
Child Classes
71M 42Kx 3 Class /Script/Engine.Texture
Child Classes
55M 8Kx 161 Class /Script/Engine.Texture2D
Child Classes
2736K 1Kx 7 Class /Script/Engine.ShadowMapTexture2D
Instances
2731K 1 ShadowMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:ShadowMapTexture2D_0
3K 1 ShadowMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:ShadowMapTexture2D_1
0K 1 ShadowMapTexture2D /Script/Engine.Default__ShadowMapTexture2D
... ... ... ... ... ... ...
Instances
0K 1 Object /Script/CoreUObject.Default__Object
********************************************** Flat
120M 0Kx 21218 Root
32M 1 Texture2D /Engine/EngineMaterials/DefaultBloomKernel.DefaultBloomKernel
16M 1 TextureCube /Engine/MapTemplates/Sky/DaylightAmbientCubemap.DaylightAmbientCubemap
7695K 1 FontFace /Engine/EngineFonts/Faces/DroidSansFallback.DroidSansFallback
5462K 1 Texture2D /Engine/EditorResources/T_EditorHelp.T_EditorHelp
3627K 1 MetaData /Script/Engine.PackageMetaData
3584K 1 Texture2D /Engine/EngineMaterials/BlueNoise.BlueNoise
2731K 1 Texture2D /Engine/EngineSky/T_Sky_Blue.T_Sky_Blue
2731K 1 ShadowMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:ShadowMapTexture2D_0
1780K 1 SkeletalMesh /Game/Mannequin/Character/Mesh/SK_Mannequin.SK_Mannequin
1366K 1 LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:HQ_Lightmap0_1
1366K 1 Texture2D /Game/Mannequin/Character/Textures/T_UE4_Mannequin_Mobile_N.T_UE4_Mannequin_Mobile_N
683K 1 Texture2D /Engine/EngineSky/T_Sky_Clouds_M.T_Sky_Clouds_M
683K 1 LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:SkyOcclusion0_1
683K 1 Texture2D /Game/Mannequin/Character/Textures/T_UE4_Mannequin_Mobile_M.T_UE4_Mannequin_Mobile_M
512K 1 Material /Engine/EngineDebugMaterials/MAT_LevelColorationLitLightmapUV.MAT_LevelColorationLitLightmapUV
512K 1 Material /Engine/EngineDebugMaterials/ShadedLevelColorationLitMaterial.ShadedLevelColorationLitMaterial
512K 1 Material /Engine/EngineMaterials/WorldGridMaterial.WorldGridMaterial
512K 1 Material /Engine/EngineDebugMaterials/LevelColorationLitMaterial.LevelColorationLitMaterial
412K 1 StaticMesh /Engine/EditorMeshes/Camera/SM_CineCam.SM_CineCam
385K 1 MetaData /Script/UMG.PackageMetaData
359K 1 Material /Engine/EngineDebugMaterials/WireframeMaterial.WireframeMaterial
342K 1 Texture2D /Engine/EngineMaterials/T_Default_Material_Grid_M.T_Default_Material_Grid_M
342K 1 LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:HQ_Lightmap0_2
333K 1 FontFace /Engine/EngineFonts/Faces/RobotoLight.RobotoLight
324K 1 FontFace /Engine/EngineFonts/Faces/RobotoBoldItalic.RobotoBoldItalic
319K 1 FontFace /Engine/EngineFonts/Faces/RobotoBold.RobotoBold
317K 1 Material /Engine/EngineDebugMaterials/ShadedLevelColorationUnlitMateri.ShadedLevelColorationUnlitMateri
317K 1 Material /Engine/EngineDebugMaterials/LevelColorationUnlitMaterial.LevelColorationUnlitMaterial
314K 1 FontFace /Engine/EngineFonts/Faces/RobotoItalic.RobotoItalic
310K 1 FontFace /Engine/EngineFonts/Faces/RobotoRegular.RobotoRegular
292K 1 ScriptStruct /Script/Engine.PostProcessSettings
292K 1 StaticMesh /Engine/EditorMeshes/MatineeCam_SM.MatineeCam_SM
268K 1 StaticMesh /Engine/EditorMeshes/EditorSkySphere.EditorSkySphere
... ... ... ... ... ... ...
注:75M為StreamableRenderAsset類型incl大小(包含size),8K為其excl大小(獨占size)
Obj Mem class=MyBlueprintObject_C cull=0 // 打印大於0KB的MyBlueprintObject_C類型及其實例對象的內存占用信息
********************************************** By Outer Hierarchy
1K 1 BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C
********************************************** By Class Hierarchy
1K 1Kx 5 BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C
Instances
0K 1 MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0
0K 1 MyBlueprintObject_C /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.Default__MyBlueprintObject_C
********************************************** Flat
120M 0Kx 21218 Root
0K 1 MyBlueprintObject_C /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.Default__MyBlueprintObject_C
0K 1 MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0
**********************************************
obj propanalysis class=Texture2D // 分析所有的Texture2D對象的屬性字段與默認值不一樣而帶來的內存開銷
obj components PlayerController_0 // 打印出PlayerController_0對象的組件的詳細信息
OBJ DUMP PlayerController_0 show=“playercontroller” // 打印出對象名為PlayerController_0的playercontroller下UPROPERTY成員變量的值 注:OBJ DUMP可以操作未加載到內存中的對象
*** Property dump for object 'PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0' *** === PlayerController properties === Player=LocalPlayer'/Engine/Transient.GameEngine_0:LocalPlayer_0' AcknowledgedPawn=ThirdPersonCharacter_C'/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2' ControllingDirTrackInst=None MyHUD=HUD'/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.HUD_0' PlayerCameraManager=PlayerCameraManager'/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerCameraManager_0' PlayerCameraManagerClass=None bAutoManageActiveCameraTarget=True TargetViewRotation=(Pitch=0.000000,Yaw=0.000000,Roll=0.000000) SmoothTargetViewRotationSpeed=20.000000 LastSpectatorStateSynchTime=0.000000 LastSpectatorSyncLocation=(X=0.000000,Y=0.000000,Z=0.000000) LastSpectatorSyncRotation=(Pitch=0.000000,Yaw=0.000000,Roll=0.000000) ClientCap=0 CheatManager=CheatManager'/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0.CheatManager_0' CheatClass=Class'/Script/Engine.CheatManager' PlayerInput=PlayerInput'/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0.PlayerInput_0' bPlayerIsWaiting=False NetPlayerIndex=0 PendingSwapConnection=None NetConnection=None InputYawScale=2.500000 InputPitchScale=-2.500000 InputRollScale=1.000000 bShowMouseCursor=True bEnableClickEvents=False bEnableTouchEvents=True bEnableMouseOverEvents=False bEnableTouchOverEvents=False bForceFeedbackEnabled=True ForceFeedbackScale=1.000000 ClickEventKeys(0)=LeftMouseButton DefaultMouseCursor=Default CurrentMouseCursor=Default DefaultClickTraceChannel=ECC_Visibility CurrentClickTraceChannel=ECC_Visibility HitResultTraceDistance=100000.000000 SeamlessTravelCount=0 LastCompletedSeamlessTravelCount=0 InactiveStateInputComponent=None bShouldPerformFullTickWhenPaused=False CurrentTouchInterface=None SpectatorPawn=None bIsLocalPlayerController=True SpawnLocation=(X=0.000000,Y=0.000000,Z=0.000000)
OBJ DUMP PlayerController_0 hide="actor, Controller" // 打印出對象名為PlayerController_0的非actor、controller下UPROPERTY成員變量的值
OBJ DUMP class=playercontroller name=PlayerController_0 // 打印出類型為playercontroller,對象名為PlayerController_0的UPROPERTY成員變量的值
OBJ DUMP PlayerController_0 recurse=true // 打印出對象名為PlayerController_0的UPROPERTY成員變量的值(UObject的成員變量會遞歸展開打印)
OBJ DUMP SM_Env_Tutorial_DirtRoad04_35.StaticMeshComponent0 // 打印出對象名為SM_Env_Tutorial_DirtRoad04_35的StaticMeshComponent0組件的UPROPERTY成員變量的值
cdodump // 打印出所有的CDO對象 保存日志到Saved/CDO.txt中 詳見:FCDODump類
。。。 。。。 Begin Object Class=/Script/Engine.Actor Name="Default__Actor" PrimaryActorTick=(TickGroup=TG_PrePhysics,EndTickGroup=TG_PrePhysics,bTickEvenWhenPaused=False,bCanEverTick=False,bStartWithTickEnabled=True,bAllowTickOnDedicatedServer=True,TickInterval=0.000000) bNetTemporary=False bNetStartup=False bOnlyRelevantToOwner=False bAlwaysRelevant=False bReplicateMovement=False bHidden=False bTearOff=False bNetLoadOnClient=True bNetUseOwnerRelevancy=False bRelevantForNetworkReplays=True bRelevantForLevelBounds=True bReplayRewindable=False bAllowTickBeforeBeginPlay=False bAutoDestroyWhenFinished=False bCanBeDamaged=True bBlockInput=False bCollideWhenPlacing=False bFindCameraComponentWhenViewTarget=True bGenerateOverlapEventsDuringLevelStreaming=False bIgnoresOriginShifting=False bEnableAutoLODGeneration=True bIsEditorOnlyActor=False bActorSeamlessTraveled=False bReplicates=False bCanBeInCluster=False bAllowReceiveTickEventOnDedicatedServer=True bActorEnableCollision=True UpdateOverlapsMethodDuringLevelStreaming=UseConfigDefault DefaultUpdateOverlapsMethodDuringLevelStreaming=OnlyUpdateMovable ReplicatedMovement=(LocationQuantizationLevel=RoundWholeNumber,VelocityQuantizationLevel=RoundWholeNumber,RotationQuantizationLevel=ByteComponents) InitialLifeSpan=0.000000 CustomTimeDilation=1.000000 Owner=None NetDriverName="GameNetDriver" Role=ROLE_Authority NetDormancy=DORM_Awake SpawnCollisionHandlingMethod=AlwaysSpawn AutoReceiveInput=Disabled InputPriority=0 NetCullDistanceSquared=225000000.000000 NetUpdateFrequency=100.000000 MinNetUpdateFrequency=2.000000 NetPriority=1.000000 Instigator=None RootComponent=None PivotOffset=(X=0.000000,Y=0.000000,Z=0.000000) ParentComponent=None SpriteScale=1.000000 ActorLabel="" FolderPath="" bHiddenEd=False bLockLocation=False bActorLabelEditable=True bEditable=True bListedInSceneOutliner=True bOptimizeBPComponentData=False OnTakeAnyDamage=() OnTakePointDamage=() OnTakeRadialDamage=() OnActorBeginOverlap=() OnActorEndOverlap=() OnBeginCursorOver=() OnEndCursorOver=() OnClicked=() OnReleased=() OnInputTouchBegin=() OnInputTouchEnd=() OnInputTouchEnter=() OnInputTouchLeave=() OnActorHit=() OnDestroyed=() OnEndPlay=() End Object 。。。 。。。 Begin Object Class=/Script/Engine.ActorComponent Name="Default__ActorComponent" PrimaryComponentTick=(TickGroup=TG_DuringPhysics,EndTickGroup=TG_PrePhysics,bTickEvenWhenPaused=False,bCanEverTick=False,bStartWithTickEnabled=True,bAllowTickOnDedicatedServer=True,TickInterval=0.000000) UCSSerializationIndex=-1 bNetAddressable=False bReplicates=False bAutoActivate=False bEditableWhenInherited=True bCanEverAffectNavigation=False bIsEditorOnly=False bIsVisualizationComponent=False bNeedsUCSSerializationIndexEvaluted=False CreationMethod=Native OnComponentActivated=() OnComponentDeactivated=() End Object 。。。 。。。
注:執行該命令會導致引擎崩潰,需要進行如下fix

obj hash // 打印出hash表的效率,最大碰撞中包含的對象以及hash表的內存占用
obj hash -showbucketcollisions
obj hashouter // 打印出hashouter表的效率,最大碰撞中包含的對象以及hashouter表的內存占用
obj hashouter -showbucketcollisions
obj overhead // 打印hash表的內存占用
obj overhead -detailed
gc.DumpPoolStats // 輸出GC相關pool的信息
GCPoolStats: 39 Pools totaling 564 KB. Avg: Objs=1852, Size=14 KB. 20766 (2 Items @ 162 KB = 324 KB) 1019 (1 Items @ 7 KB = 7 KB) 989 (30 Items @ 7 KB = 210 KB) 4 (1 Items @ 0 KB = 0 KB) 0 (5 Items @ 0 KB = 0 KB)
gc.ListClusters // 列出簇的信息
UObjectClusters.cpp:306(DumpClusterToLog)|Material /Game/ArtResource/MaterialLibrary/tkMaterialLibrary/MasterMaterials/Effect/UI/MUI_Animation_BG.MUI_Animation_BG (Index: 27014), Size: 7, ReferencedClusters: 0 UObjectClusters.cpp:306(DumpClusterToLog)|ScriptStruct /Script/UnLua.PropertyCollector (Index: 10848), Size: 0, ReferencedClusters: 0 UObjectClusters.cpp:306(DumpClusterToLog)|Material /Game/ArtResource/MaterialLibrary/tkMaterialLibrary/MasterMaterials/Effect/UI/MUI_Animation.MUI_Animation (Index: 27013), Size: 5, ReferencedClusters: 1 UObjectClusters.cpp:306(DumpClusterToLog)|Material /Game/ArtResource/Assets/Effects/SourceMaterial/Fx_Material/CMUI_Texture.CMUI_Texture (Index: 26999), Size: 7, ReferencedClusters: 2 UObjectClusters.cpp:448(ListClusters)|Displayed 4 clusters UObjectClusters.cpp:449(ListClusters)|Total number of clusters: 4 UObjectClusters.cpp:450(ListClusters)|Maximum cluster size: 7 UObjectClusters.cpp:451(ListClusters)|Average cluster size: 4 UObjectClusters.cpp:452(ListClusters)|Number of objects in GC clusters: 19 UObjectClusters.cpp:453(ListClusters)|Maximum number of custer-to-cluster references: 2 UObjectClusters.cpp:454(ListClusters)|Average number of custer-to-cluster references: 0
gc.ListClusters Hierarchy with=CMUI_Texture
obj flags MyBlueprintObject_C // 打印MyBlueprintObject_C的Flags信息
BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C: Transactional Public
obj flags ThirdPersonCharacter_2 // 打印ThirdPersonCharacter_2對象的Flags信息
ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2: Transactional SpringArmComponent /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.CameraBoom: Transactional CameraComponent /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.FollowCamera: Transactional MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_2: SkeletalMeshComponent /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.CharacterMesh0: Transactional CharacterMovementComponent /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.CharMoveComp: Transactional CapsuleComponent /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.CollisionCylinder: Transactional Class /Script/AIModule.AIController: Public Transient Standalone PlayerState /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerState_0: Transactional Transient PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0: Transactional Transient PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0: Transactional Transient InputComponent /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.PawnInputComponent0: Transient ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2: Transactional CapsuleComponent /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.CollisionCylinder: Transactional
obj rep class=ThirdPersonCharacter_C // 打印ThirdPersonCharacter_C類型的同步屬性(Replicated properties)
[2020.12.07-16.12.31:204][954]=== Replicated properties for class: ThirdPersonCharacter_C=== [2020.12.07-16.12.31:204][954] ReplicatedBasedMovement <OnRep_ReplicatedBasedMovement> [2020.12.07-16.12.31:204][954] AnimRootMotionTranslationScale [2020.12.07-16.12.31:204][954] ReplicatedServerLastTransformUpdateTimeStamp [2020.12.07-16.12.31:204][954] ReplayLastTransformUpdateTimeStamp <OnRep_ReplayLastTransformUpdateTimeStamp> [2020.12.07-16.12.31:204][954] ReplicatedMovementMode [2020.12.07-16.12.31:205][954] bIsCrouched <OnRep_IsCrouched> [2020.12.07-16.12.31:205][954] bProxyIsJumpForceApplied [2020.12.07-16.12.31:205][954] JumpMaxHoldTime [2020.12.07-16.12.31:205][954] JumpMaxCount [2020.12.07-16.12.31:205][954] RepRootMotion <OnRep_RootMotion> [2020.12.07-16.12.31:205][954] RemoteViewPitch [2020.12.07-16.12.31:205][954] PlayerState <OnRep_PlayerState> [2020.12.07-16.12.31:205][954] Controller <OnRep_Controller> [2020.12.07-16.12.31:205][954] bReplicateMovement <OnRep_ReplicateMovement> [2020.12.07-16.12.31:205][954] bHidden [2020.12.07-16.12.31:205][954] bTearOff [2020.12.07-16.12.31:206][954] bCanBeDamaged [2020.12.07-16.12.31:206][954] RemoteRole [2020.12.07-16.12.31:206][954] ReplicatedMovement <OnRep_ReplicatedMovement> [2020.12.07-16.12.31:206][954] AttachmentReplication <OnRep_AttachmentReplication> [2020.12.07-16.12.31:206][954] Owner <OnRep_Owner> [2020.12.07-16.12.31:206][954] Role [2020.12.07-16.12.31:206][954] Instigator <OnRep_Instigator>
obj cycles // 查看引用鏈是否形成環
... ... [2020.12.03-13.18.02:314][942]MaterialExpressionVectorParameter /Engine/EngineDebugMaterials/LevelColorationUnlitMaterial.LevelColorationUnlitMaterial:MaterialExpressionVectorParameter0 [2020.12.03-13.18.02:314][942]Material /Engine/EngineDebugMaterials/LevelColorationUnlitMaterial.LevelColorationUnlitMaterial [2020.12.03-13.18.02:314][942] simple cycle ------------------ [2020.12.03-13.18.02:314][942] Material /Engine/EngineDebugMaterials/LevelColorationUnlitMaterial.LevelColorationUnlitMaterial -> MaterialExpressionVectorParameter /Engine/EngineDebugMaterials/LevelColorationUnlitMaterial.LevelColorationUnlitMaterial:MaterialExpressionVectorParameter0 [2020.12.03-13.18.02:315][942] [StructProperty /Script/Engine.Material:EmissiveColor] [2020.12.03-13.18.02:315][942] class Material offset 672, offset from UObject 1072 [2020.12.03-13.18.02:315][942] [ObjectProperty Expressions./Script/Engine.Material:Expressions] [2020.12.03-13.18.02:315][942] MaterialExpressionVectorParameter /Engine/EngineDebugMaterials/LevelColorationUnlitMaterial.LevelColorationUnlitMaterial:MaterialExpressionVectorParameter0 -> Material /Engine/EngineDebugMaterials/LevelColorationUnlitMaterial.LevelColorationUnlitMaterial [2020.12.03-13.18.02:315][942] [ObjectProperty /Script/Engine.MaterialExpression:Material] [2020.12.03-13.18.02:315][942] class MaterialExpression offset 48, offset from UObject 96 [2020.12.03-13.18.02:315][942]------------------------------------------------------------------------ [2020.12.03-13.18.02:315][942]MaterialExpressionVectorParameter /Engine/EngineDebugMaterials/DebugMeshMaterial.DebugMeshMaterial:MaterialExpressionVectorParameter0 [2020.12.03-13.18.02:315][942]Material /Engine/EngineDebugMaterials/DebugMeshMaterial.DebugMeshMaterial [2020.12.03-13.18.02:315][942] simple cycle ------------------ [2020.12.03-13.18.02:315][942] Material /Engine/EngineDebugMaterials/DebugMeshMaterial.DebugMeshMaterial -> MaterialExpressionVectorParameter /Engine/EngineDebugMaterials/DebugMeshMaterial.DebugMeshMaterial:MaterialExpressionVectorParameter0 [2020.12.03-13.18.02:316][942] [StructProperty /Script/Engine.Material:EmissiveColor] [2020.12.03-13.18.02:316][942] class Material offset 672, offset from UObject 1072 [2020.12.03-13.18.02:316][942] [StructProperty /Script/Engine.Material:Opacity] [2020.12.03-13.18.02:316][942] class Material offset 736, offset from UObject 1136 [2020.12.03-13.18.02:316][942] [ObjectProperty Expressions./Script/Engine.Material:Expressions] [2020.12.03-13.18.02:316][942] MaterialExpressionVectorParameter /Engine/EngineDebugMaterials/DebugMeshMaterial.DebugMeshMaterial:MaterialExpressionVectorParameter0 -> Material /Engine/EngineDebugMaterials/DebugMeshMaterial.DebugMeshMaterial [2020.12.03-13.18.02:316][942] [ObjectProperty /Script/Engine.MaterialExpression:Material] [2020.12.03-13.18.02:316][942] class MaterialExpression offset 48, offset from UObject 96 [2020.12.03-13.18.02:316][942]------------------------------------------------------------------------ [2020.12.03-13.18.02:316][942]21207 total objects, 40482 total edges. [2020.12.03-13.18.02:316][942]Non-permanent: 21207 objects, 40482 edges, 324 strongly connected components, 3359 objects are included in cycles.
obj refs name=/Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject // 查看藍圖資源為/Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject的引用關系鏈
obj refs name=MyBlueprintObject
LogReferenceChain: (root) (standalone) World /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap->PersistentLevel LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_MyBPObjectClass LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C::AddReferencedObjects(): MyBlueprintObject_C LogReferenceChain: (standalone) Blueprint /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject LogReferenceChain: LogReferenceChain: (root) CrowdManager /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:NavigationSystemV1_0.CrowdManager_0->Outer LogReferenceChain: NavigationSystemV1 /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:NavigationSystemV1_0->AbstractNavData LogReferenceChain: AbstractNavData /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.AbstractNavData-Default->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_MyBPObjectClass LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C::AddReferencedObjects(): MyBlueprintObject_C LogReferenceChain: (standalone) Blueprint /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject LogReferenceChain: LogReferenceChain: (root) GameEngine /Engine/Transient.GameEngine_0::AddReferencedObjects(): GameEngine_0 LogReferenceChain: GameInstance /Engine/Transient.GameEngine_0:GameInstance_0->LocalPlayers LogReferenceChain: LocalPlayer /Engine/Transient.GameEngine_0:LocalPlayer_0->PlayerController LogReferenceChain: PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_MyBPObjectClass LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C::AddReferencedObjects(): MyBlueprintObject_C LogReferenceChain: (standalone) Blueprint /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject LogReferenceChain: LogReferenceChain: (root) GCObjectReferencer /Engine/Transient.GCObjectReferencer_0::AddReferencedObjects(): SObjectWidget( NewWidgetBlueprint_C_0 ) LogReferenceChain: NewWidgetBlueprint_C /Engine/Transient.GameEngine_0:GameInstance_0.NewWidgetBlueprint_C_0->Outer LogReferenceChain: GameInstance /Engine/Transient.GameEngine_0:GameInstance_0->LocalPlayers LogReferenceChain: LocalPlayer /Engine/Transient.GameEngine_0:LocalPlayer_0->PlayerController LogReferenceChain: PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_MyBPObjectClass LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C::AddReferencedObjects(): MyBlueprintObject_C LogReferenceChain: (standalone) Blueprint /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject
obj refs name=/Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C // 查看藍圖Class為/Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C的引用關系鏈
obj refs name=MyBlueprintObject_C
LogReferenceChain: (root) (standalone) World /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap->PersistentLevel LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_MyBPObjectClass LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C LogReferenceChain: LogReferenceChain: (root) (standalone) World /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap->PersistentLevel LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_BPObj1 LogReferenceChain: MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0->Class LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C LogReferenceChain: LogReferenceChain: (root) CrowdManager /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:NavigationSystemV1_0.CrowdManager_0->Outer LogReferenceChain: NavigationSystemV1 /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:NavigationSystemV1_0->AbstractNavData LogReferenceChain: AbstractNavData /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.AbstractNavData-Default->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_MyBPObjectClass LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C LogReferenceChain: LogReferenceChain: (root) CrowdManager /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:NavigationSystemV1_0.CrowdManager_0->Outer LogReferenceChain: NavigationSystemV1 /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:NavigationSystemV1_0->AbstractNavData LogReferenceChain: AbstractNavData /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.AbstractNavData-Default->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_BPObj1 LogReferenceChain: MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0->Class LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C LogReferenceChain: LogReferenceChain: (root) GameEngine /Engine/Transient.GameEngine_0::AddReferencedObjects(): GameEngine_0 LogReferenceChain: GameInstance /Engine/Transient.GameEngine_0:GameInstance_0->LocalPlayers LogReferenceChain: LocalPlayer /Engine/Transient.GameEngine_0:LocalPlayer_0->PlayerController LogReferenceChain: PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_MyBPObjectClass LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C LogReferenceChain: LogReferenceChain: (root) GameEngine /Engine/Transient.GameEngine_0::AddReferencedObjects(): GameEngine_0 LogReferenceChain: GameInstance /Engine/Transient.GameEngine_0:GameInstance_0->LocalPlayers LogReferenceChain: LocalPlayer /Engine/Transient.GameEngine_0:LocalPlayer_0->PlayerController LogReferenceChain: PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_BPObj1 LogReferenceChain: MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0->Class LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C LogReferenceChain: LogReferenceChain: (root) GCObjectReferencer /Engine/Transient.GCObjectReferencer_0::AddReferencedObjects(): SObjectWidget( NewWidgetBlueprint_C_0 ) LogReferenceChain: NewWidgetBlueprint_C /Engine/Transient.GameEngine_0:GameInstance_0.NewWidgetBlueprint_C_0->Outer LogReferenceChain: GameInstance /Engine/Transient.GameEngine_0:GameInstance_0->LocalPlayers LogReferenceChain: LocalPlayer /Engine/Transient.GameEngine_0:LocalPlayer_0->PlayerController LogReferenceChain: PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_MyBPObjectClass LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C LogReferenceChain: LogReferenceChain: (root) GCObjectReferencer /Engine/Transient.GCObjectReferencer_0::AddReferencedObjects(): SObjectWidget( NewWidgetBlueprint_C_0 ) LogReferenceChain: NewWidgetBlueprint_C /Engine/Transient.GameEngine_0:GameInstance_0.NewWidgetBlueprint_C_0->Outer LogReferenceChain: GameInstance /Engine/Transient.GameEngine_0:GameInstance_0->LocalPlayers LogReferenceChain: LocalPlayer /Engine/Transient.GameEngine_0:LocalPlayer_0->PlayerController LogReferenceChain: PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_BPObj1 LogReferenceChain: MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0->Class LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C LogReferenceChain:
obj refs name=MyBlueprintObject_C_0 // 查看藍圖對象為MyBlueprintObject_C_0的引用關系鏈 注:對象名可通過obj list class=MyBlueprintObject_C命令來查詢
LogReferenceChain: (root) (standalone) World /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap->PersistentLevel LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_BPObj1 LogReferenceChain: MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0 LogReferenceChain: LogReferenceChain: (root) CrowdManager /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:NavigationSystemV1_0.CrowdManager_0->Outer LogReferenceChain: NavigationSystemV1 /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:NavigationSystemV1_0->AbstractNavData LogReferenceChain: AbstractNavData /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.AbstractNavData-Default->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_BPObj1 LogReferenceChain: MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0 LogReferenceChain: LogReferenceChain: (root) GameEngine /Engine/Transient.GameEngine_0::AddReferencedObjects(): GameEngine_0 LogReferenceChain: GameInstance /Engine/Transient.GameEngine_0:GameInstance_0->LocalPlayers LogReferenceChain: LocalPlayer /Engine/Transient.GameEngine_0:LocalPlayer_0->PlayerController LogReferenceChain: PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_BPObj1 LogReferenceChain: MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0 LogReferenceChain: LogReferenceChain: (root) GCObjectReferencer /Engine/Transient.GCObjectReferencer_0::AddReferencedObjects(): SObjectWidget( NewWidgetBlueprint_C_0 ) LogReferenceChain: NewWidgetBlueprint_C /Engine/Transient.GameEngine_0:GameInstance_0.NewWidgetBlueprint_C_0->Outer LogReferenceChain: GameInstance /Engine/Transient.GameEngine_0:GameInstance_0->LocalPlayers LogReferenceChain: LocalPlayer /Engine/Transient.GameEngine_0:LocalPlayer_0->PlayerController LogReferenceChain: PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_BPObj1 LogReferenceChain: MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0 LogReferenceChain:
obj refs name=MyBlueprintObject_C_0 direct // 查看藍圖對象為MyBlueprintObject_C_0的直接對象的引用關系鏈 注:對象名可通過obj list class="MyBlueprintObject_C"命令來查詢
LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_BPObj1 LogReferenceChain: MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0 LogReferenceChain:
其他token還包括:shortest、longest、all、external、direct、full
FReferenceChainSearch RefChainSearch(Object, EReferenceChainSearchMode::Shortest | EReferenceChainSearchMode::PrintResults); // 打印當前Object對象的shortest引用鏈
Flag詳細說明:
/** Objects flags for internal use (GC, low level UObject code) */ enum class EInternalObjectFlags : int32 { None = 0, //~ All the other bits are reserved, DO NOT ADD NEW FLAGS HERE! ReachableInCluster = 1 << 23, ///< External reference to object in cluster exists ClusterRoot = 1 << 24, ///< Root of a cluster Native = 1 << 25, ///< Native (UClass only). Async = 1 << 26, ///< Object exists only on a different thread than the game thread. AsyncLoading = 1 << 27, ///< Object is being asynchronously loaded. Unreachable = 1 << 28, ///< Object is not reachable on the object graph. PendingKill = 1 << 29, ///< Objects that are pending destruction (invalid for gameplay but valid objects) RootSet = 1 << 30, ///< Object will not be garbage collected, even if unreferenced. //~ UnusedFlag = 1 << 31, GarbageCollectionKeepFlags = Native | Async | AsyncLoading, //~ Make sure this is up to date! AllFlags = ReachableInCluster | ClusterRoot | Native | Async | AsyncLoading | Unreachable | PendingKill | RootSet };
相關函數說明:
bool IsPendingKill() const // 是否含有EInternalObjectFlags::PendingKill標記
void MarkPendingKill() // 添加EInternalObjectFlags::PendingKill標記
void ClearPendingKill() // 清除EInternalObjectFlags::PendingKill標記
void AddToRoot() // 添加EInternalObjectFlags::RootSet標記
void RemoveFromRoot() // 清除EInternalObjectFlags::RootSet標記
bool IsRooted() const // 是否含有EInternalObjectFlags::RootSet標記
bool ThisThreadAtomicallyClearedRFUnreachable() // 清除EInternalObjectFlags::Unreachable標記
bool IsUnreachable() // 是否含有EInternalObjectFlags::Unreachable標記
bool IsPendingKillOrUnreachable() const // 是否含有EInternalObjectFlags::PendingKill或EInternalObjectFlags::Unreachable標記
bool IsNative() const // 是否含有EInternalObjectFlags::Native標記
void SetInternalFlags(EInternalObjectFlags FlagsToSet) const // 設置EInternalObjectFlags FlagsToSet標記
EInternalObjectFlags GetInternalFlags() const // 獲取所有EInternalObjectFlags標記
bool HasAnyInternalFlags(EInternalObjectFlags FlagsToCheck) const // 是否含有EInternalObjectFlags FlagsToCheck標記
void ClearInternalFlags(EInternalObjectFlags FlagsToClear) const // 清理EInternalObjectFlags FlagsToClear標記
bool AtomicallyClearInternalFlags(EInternalObjectFlags FlagsToClear) const // 清理EInternalObjectFlags FlagsToClear標記
| 名稱 | 標志位 | 說明 |
| (root) | GUObjectArray.IndexToObject(InternalIndex).Flags含有EInternalObjectFlags::RootSet | 已被加到Root上 |
| (native) | GUObjectArray.IndexToObject(InternalIndex).Flags含有EInternalObjectFlags::Native | c++ UClass |
| (PendingKill) | GUObjectArray.IndexToObject(InternalIndex).Flags含有EInternalObjectFlags::PendingKill | 等待回收(UObject本身是有效的,但GamePlay認為它是無效的) |
| (standalone) | RF_Standalone | 在Editor下,會有從非root出發的引用鏈維持資源使其不被GC,這時候一般都會被打上(standalone)的tag 目的是在Editor下編輯而不被釋放 |
| (async) | GUObjectArray.IndexToObject(InternalIndex).Flags含有EInternalObjectFlags::Async | 在非Gametheard中 |
| (asyncloading) | GUObjectArray.IndexToObject(InternalIndex).Flags含有EInternalObjectFlags::AsyncLoading | 正在被異步加載 |
| (NeverGCed) | 永遠不被GC |
|
| (ClusterRoot) | GUObjectArray.IndexToObject(InternalIndex).Flags含有EInternalObjectFlags::ClusterRoot | 一個簇的Root |
| (Clustered) | FUObjectItem* ReferencedByObjectItem = GUObjectArray.ObjectToObjectItem(InObject); |
被簇管理 |
其他一些log說明:
LogReferenceChain: MyObject /Engine/Transient.MyObject_0 is not currently reachable. // 藍圖對象MyObject_0不可達(程序不再持有MyObject_0對象的指針),已變成垃圾
LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C is not currently reachable. // 名為藍圖UClass的MyObject_0不可達,已變成垃圾
LogReferenceChain: (root) MyObject /Engine/Transient.MyObject_0 is not currently reachable. // 藍圖對象MyObject_0已加到root上,但是不可達(程序不再持有MyObject_0對象的指針),內存已泄漏
obj singleref class=MyBlueprintObject_C // 查看被類型為MyBlueprintObject_C的對象的名稱、內存占用字節數以及引用者 注:僅被單個對象引用才會打印輸出
obj singleref class=MyBlueprintObject_C refclass=ThirdPersonCharacter_C // 加上引用者的類型為ThirdPersonCharacter_C的條件
obj singleref class=MyBlueprintObject_C refname=ThirdPersonCharacter_2 // 加上引用者的名稱為ThirdPersonCharacter_2的條件
/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0, 86, 86, 86, 0 /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2
obj listcontentrefs class=MyBlueprintObject_C // 打印依賴MyBlueprintObject_C類型的對象
Dumping references for BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C
Blueprint /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject
BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.SKEL_MyBlueprintObject_C
BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C
Class /Script/Engine.EdGraphSchema
Class /Script/CoreUObject.Object
Class /Script/MyTest1.MyBPObject
Class /Script/BlueprintGraph.EdGraphSchema_K2
EdGraph /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject:EventGraph
EdGraphSchema /Script/Engine.Default__EdGraphSchema
EdGraphSchema_K2 /Script/BlueprintGraph.Default__EdGraphSchema_K2
Function /Script/CoreUObject.Object:ExecuteUbergraph
MyBlueprintObject_C /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.Default__MyBlueprintObject_C
MyBPObject /Script/MyTest1.Default__MyBPObject
Object /Script/CoreUObject.Default__Object
SceneThumbnailInfo /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject:SceneThumbnailInfo_0
ScriptStruct /Script/Engine.PointerToUberGraphFrame
ScriptStruct /Script/BlueprintGraph.BlueprintCallableFunctionRedirect
SKEL_MyBlueprintObject_C /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.Default__SKEL_MyBlueprintObject_C
Command not recognized: obj listcontentrefs class=MyBlueprintObject_C
obj listcontentrefs class=MyBlueprintObject_C listclass=MyBPObject // 增加過濾條件:listclass=MyBPObject
Dumping references for BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C
MyBPObject /Script/MyTest1.Default__MyBPObject
Command not recognized: obj listcontentrefs class=MyBlueprintObject_C LISTCLASS=MyBPObject
obj dependencies package=/Engine/EngineSky/T_Sky_Blue // 打印/Engine/EngineSky/T_Sky_Blue包的依賴項
obj dependencies package=/Engine/Transient // 打印/Engine/Transient包的依賴項
obj dependencies package=/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap recurse // 打印/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap包的依賴項
引用相關的類
FReferenceFinder、FReferenceChainSearch
