FGCObject

This class provides common registration for garbage collection for non-UObject classes.

Inheritance Hierarchy

FGCObject

ConstructorHelpers::FClassFinder

ConstructorHelpers::FObjectFinder

ConstructorHelpers::FObjectFinderOptional

FActorFolders

FAnimationRecorder

FAnimSharingModule

FARSupportInterface

FARSystemProxy

FAssetEditorToolkit::FGCEditingObjects

FAsyncPoseSearchDatabasesManagement

FAzureSpatialAnchorsBase

FBaseMeshPaintComponentAdapter

FMeshPaintGeometryCollectionComponentAdapter

FMeshPaintSkeletalMeshComponentAdapter

FMeshPaintStaticMeshComponentAdapter

FMeshPaintSplineMeshComponentAdapter

FBlueprintActionDatabase

FBlueprintCompileReinstancer

FBlueprintEditor

FGameplayAbilitiesEditor

FRigVMEditor

IControlRigEditor

FWidgetBlueprintEditor

IAnimationBlueprintEditor

IDisplayClusterConfiguratorBlueprintEditor

IRenderGridEditor

FBlueprintNodeTemplateCache

FCameraShakePreviewer

FChaosClothAssetSimulationDefaultConfigNode

FChaosVDGeometryBuilder

FChaosVDScene

FClothVisualization

FConsoleVariablesEditorModule

FConsolidationResults

FContentBrowserAssetFileItemDataPayload_Creation

FContextualAnimationModule

FContextualAnimMovieSceneNotifyTrackEditor

FContextualAnimViewModel

FCustomizableObjectWidget

FDatabaseViewModel

FDataflowEditorToolkit

FDatasmithImportContext::FInternalReferenceCollector

FDeferredCleanupSlateBrush

FDMXFixturePatchSharedData

FDMXFixtureTypeSharedData

FDMXMVRFixtureActorLibrary

FEditorModeTools

FAssetEditorModeManager

IPersonaEditorModeManager

FWidgetModeManager

FEditorViewportClient

FAnimationViewportClient

FChaosVDPlaybackViewportClient

FContextualAnimViewportClient

FCustomizableObjectEditorViewportClient

FDatabaseViewportClient

FDataflowEditorViewportClient

FLevelEditorViewportClient

FRetargetPoseViewportClient

FUVEditor2DViewportClient

FUVEditor3DViewportClient

FEdMode

FAnimationEditMode

IAnimNodeEditMode

FAnimNodeEditMode

IPersonaEditMode

FIKRetargetDefaultMode

FIKRetargetEditPoseMode

FIKRigEditMode

FMLDeformerEditorMode

FPhysicsControlProfileEditorMode

IControlRigEditMode

FContextualAnimEdMode

FDatabaseEdMode

FEdModeGeometry

FEdModeTexture

FGameplayDebuggerEdMode

FPhysicsDebugMode

FPhysicsManipulationEdMode

IMeshPaintEdMode

FFindReferencedAssets

FForceFeedbackManager

FFractureEditorModeToolkit

FGeomComponentCacheParametersCustomization

FGeomObject

FGLTFObjectArrayScopeGuard

FGoogleARCorePassthroughCameraRenderer

FGraphSelectionManager

FGridWidget

FIKRetargetEditor

FIKRetargetEditorController

FIKRigEditorController

FIKRigEditorToolkit

FImportAsyncHelper

FImportResult

FLandscapeBrush

FLandscapeTool

FMassEntityManager

FMassProcessingPhaseManager

FMassTestProcessingPhaseManager

FMediaThumbnailSection

FMixerDevice

FMLDeformerEditorModel

FMLDeformerGeomCacheEditorModel

FMLDeformerMorphModelEditorModel

FNearestNeighborEditorModel

FNeuralMorphEditorModel

FVertexDeltaEditorModel

FMLDeformerEditorToolkit

FNiagaraActiveCompilation

FNiagaraEditorModule

FNiagaraEmitterHandleViewModel

FNiagaraEmitterViewModel

FNiagaraScratchPadScriptViewModel

FNiagaraSystemInstanceController

FNiagaraSystemViewModel

FNiagaraTypeRegistry

FNiagaraWorldManager

FObjectMixerEditorList

FOpenColorIODisplayExtension

FPackageMigrationContext

FParticleSystemWorldManager

FPhysicsControlProfileEditorToolkit

FPreLoadSettingsContainerBase

FPreviewScene

FAdvancedPreviewScene

FContextualAnimPreviewScene

FDatabasePreviewScene

IDisplayClusterConfiguratorPreviewScene

IPersonaPreviewScene

FThumbnailPreviewScene

FAnimationSequenceThumbnailScene

FAnimBlueprintThumbnailScene

FBlendSpaceThumbnailScene

FClassActorThumbnailScene

FBlueprintThumbnailScene

FClassThumbnailScene

FFleshAssetThumbnailScene

FGeometryCacheThumbnailScene

FGeometryCollectionThumbnailScene

FIKRetargeterThumbnailScene

FMaterialThumbnailScene

FParticleSystemThumbnailScene

FPhysicsAssetThumbnailScene

FSkeletalMeshThumbnailScene

FStaticMeshThumbnailScene

FQosInterface

FReimportManager

FRemoteSessionARCameraChannel

FRepLayout

FRigVMRegistry

FSequencerKeyStructGenerator

FSlateDrawBuffer

FSlateGameResources

FSlateInvalidationRoot

SInvalidationPanel

SRetainerWidget

SWindow

SBatchExportDialog

SContextualAnimNewAnimSetDialog

SCreateAnimationAssetDlg

SCustomDialog

SLandscapeLayerListDialog

SMessageDialog

SMLDeformerBonePickerDialog

SMLDeformerCurvePickerDialog

SDlgPickAssetPath

SDlgPickPath

SLogWindow

SReplaceMissingSkeletonDialog

SRigVMGraphBreakLinksDialog

SRigVMGraphFunctionBulkEditDialog

SRigVMGraphFunctionLocalizationDialog

SSelectExportPathDialog

SSelectFolderDlg

SVirtualWindow

FSmartObjectAssetToolkit

FSMInstanceElementIdMap

FSoundSourceDecoder

FSoundWavePCMLoader

FSplineComponentVisualizer

FStandaloneCompositeFont

FStreamableManager

FSubsystemCollection

FAudioSubsystemCollection

FSystemInterrogator

FTraceSourceFiltering

FTypedElementsDataStorageModule

FTypedElementsDataStorageUiModule

FUMGDragDropOp

FVariantManager

FViewport::FHitProxyMap

FVoiceEngineImpl::FVoiceSerializeHelper

FWaveformEditor

FWidget

FWorldTickHook::FInternalGCObject

SCurveEditor

SDataflowEditorViewport

SDataflowEdNode

SDesignerView

SGraphActionMenu

SGraphPanel

SGroomEditorViewport

SKismetInspector

SMediaImage::FInternalReferenceCollector

SMeshWidget

SNiagaraHierarchy

SObjectWidget

SObjectTableRow

SCommonButtonTableRow

SSceneOutliner

SContentBundleOutliner

SObjectMixerEditorList

TGCObjectScopeGuard

TGCObjectsScopeGuard

TInternalReferenceCollector

TPartyDataReplicator

TWidgetFactory

UDatasmithSceneElementBase::FDatasmithSceneCollector

UDerivedDataCacheCommandlet::FObjectReferencer

References

Module

CoreUObject

Header

/Engine/Source/Runtime/CoreUObject/Public/UObject/GCObject.h

Include

#include "UObject/GCObject.h"

Syntax

class FGCObject

Remarks

This class provides common registration for garbage collection for non-UObject classes. It is an abstract base class requiring you to implement the AddReferencedObjects() method.

Constructors

Name Description

Public function

FGCObject()

Tells the global object that forwards AddReferencedObjects calls on to objects that a new object is requiring AddReferencedObjects call.

Public function

FGCObject

(
    const FGCObject& Other
)

Public function

FGCObject

(
    FGCObject&& Other
)

Public function

FGCObject

(
    EFlags Flags
)

Destructors

Name Description

Public function Virtual

~FGCObject()

Functions

Name Description

Public function

void

 

AddReferencedObjects

(
    FReferenceCollector& Collector
)

Pure virtual that must be overloaded by the inheriting class.

Public function Const

FString

 

GetReferencerName()

Overload this method to report a name for your referencer

Public function Virtual Const

bool

 

GetReferencerPropertyName

(
    UObject* Object,
    FString& OutPropertyName
)

Overload this method to report how the specified object is referenced, if necessary

Public function

void

 

RegisterGCObject()

Register with GC, only needed if constructed with EFlags::RegisterLater or after unregistering

Public function Static

void

 

StaticInit()

Initializes the global object referencer and adds it to the root set.

Public function

void

 

UnregisterGCObject()

Unregister ahead of destruction. Safe to call multiple times.

Operators

Name Description

Public function

FGCObject &

 

operator=

(
    const FGCObject&
)

Public function

FGCObject &

 

operator=

(
    FGCObject&&
)

Enums

Name

Description

Public enum

EFlags

Constants

Name

Description

GGCObjectReferencer

The static object referencer object that is shared across all garbage collectible non-UObject objects.

UnknownGCObjectName

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