IModuleInterface

Interface class that all module implementations should derive from.

Windows
MacOS
Linux

Inheritance Hierarchy

IModuleInterface

AzureSpatialAnchors

FActorPickerModeModule

FAdjustEditorModule

FAdvancedPreviewSceneModule

FAdvertising

FAIGraphModule

FAnalytics

FAnalyticsBlueprintLibraryModule

FAnalyticsMulticastEditorModule

FAnalyticsVisualEditingModule

FAndroidCameraEditorModule

FAndroidPermissionModule

FAnimGraphModule

FAnimSharingEdModule

FApsalarEditorModule

FAssetToolsModule

FAudioAnalyzerModule

FAudioCaptureCoreModule

FAudioCaptureModule

FAudioModulationModule

FAudioSynesthesiaModule

FAzureSpatialAnchorsForWMR

FBaseMeshReconstructorModule

FBehaviorTreeEditorModule

FBlueprintEditorModule

FBlueprintFileUtilsModule

FBlueprintGraphModule

FBlueprintMaterialTextureNodesModule

FCADToolsModule

FCameraShakePreviewerModule

FChaosClothEditorModule

FChaosCoreEngineModule

FChaosEngineModule

FChaosNiagaraModule

FChaosSolversModule

FClassViewerModule

FClothingSystemEditorInterfaceModule

FClothingSystemEditorModule

FClothingSystemRuntimeCommonModule

FClothingSystemRuntimeInterfaceModule

FClothingSystemRuntimeModuleNv

FClothPaintingModule

FCollectionManagerModule

FCollisionAnalyzerModule

FCommonMenuExtensionsModule

FComponentVisualizersModule

FContentBrowserModule

FCurveAssetEditorModule

FCurveTableEditorModule

FDatasmithCADTranslatorModule

FDatasmithCoreTechExtensionModule

FDatasmithCoreTechParametricSurfaceDataModule

FDatasmithDispatcherModule

FDatasmithNativeTranslatorModule

FDatasmithOpenNurbsTranslatorModule

FDatasmithRemoteImportModule

FDatasmithWireTranslatorModule

FDataTableEditorModule

FDefaultModuleImpl

FAnimSharingModule

FDefaultGameModuleImpl

IAnimationBudgetAllocatorModule

FEngineModule

FReplicationGraphModule

FSignificanceManagerModule

FDesktopPlatformModule

FDetailCustomizationsModule

FDeviceProfileEditorModule

FDirectoryWatcherModule

FDisplayClusterConfigurationModule

FDisplayClusterEditorModule

FDMXBlueprintGraphModule

FDMXEditorModule

FDMXProtocolArtNetModule

FDMXProtocolModule

FDMXProtocolSACNModule

FDynamicMeshModule

FEditorAnalyticsSessionModule

FEditorInteractiveToolsFrameworkModule

FEditorSubsystemModule

FEditorTestsModule

FEditorWidgetsModule

FEnvironmentQueryEditorModule

FFbxAutomationBuilderModule

FFlurryEditorModule

FFractureEditorModule

FGameProjectGenerationModule

FGammaUI

FGauntletModule

FGeometricObjectsModule

FGeometryAlgorithmsModule

FGeometryCacheEdModule

FGeometryCacheModule

FGeometryCacheSequencerModule

FGeometryCacheTracksModule

FGeometryCollectionSequencerModule

FGeometryCollectionTracksModule

FGeometryModeModule

FGoogleARCoreRenderingModule

FGooglePADEditorModule

FGooglePADModule

FGoogleVRTransition2DModule

FGraphEditorModule

FHairStrandsCore

FHairStrandsEditor

FHairStrandsNiagara

FHDRIBackdropModule

FHierarchicalLODOutlinerModule

FHoloLensModuleAR

FHotfixModule

FHoudiniNiagaraEditorModule

FHoudiniNiagaraModule

FHttpModule

FHttpServerModule

FIcmpModule

FInputCoreModule

FInstallBundleManagerModule

FInteractiveToolsFrameworkModule

FKismetWidgetsModule

FLandscapeEditorUtilitiesModule

FLauncherPlatformModule

FLayersModule

FLevelEditorModule

FLiveLinkControlRigModule

FLobbyModule

FLocationServicesAndroidEditorModule

FLocationServicesBPLibraryModule

FLocationServicesIOSEditorModule

FMaterialUtilities

FMeshConversionModule

FMeshModelingToolsEditorOnlyModule

FMeshModelingToolsModule

FMeshPaintModeModule

FMeshReductionModule

FMeshSolverUtilitiesModule

FMessageLogModule

FMicrosoftSpatialSoundModule

FModelingComponentsModule

FModelingOperatorsEditorOnlyModule

FModelingOperatorsModule

FModelingToolsEditorModeModule

FMovieRenderPipelineCoreModule

FNetworkReplayStreaming

FNewLevelDialogModule

FNiagaraEditorModule

FNiagaraEditorWidgetsModule

FNUTModuleInterface

INetcodeUnitTest

INUTUnrealEngine4

FOculusAudioEditorPlugin

FOculusAudioPlugin

FOnlineSubsystemAmazonModule

FOnlineSubsystemFacebookModule

FOnlineSubsystemGoogleModule

FOnlineSubsystemModule

FOnlineSubsystemNullModule

FOnlineSubsystemOculusModule

FOnlineSubsystemSteamModule

FOnlineSubsystemTwitchModule

FOnlineSubsystemUtilsModule

FOptionalMobileFeaturesBPLibraryModule

FOSCModule

FOutputLogModule

FPackagesDialogModule

FPacketHandlerComponentModuleInterface

FAESGCMHandlerComponentModule

FAESHandlerComponentModule

FDTLSHandlerComponentModule

FReliabilityHandlerComponentModuleInterface

FPartyModule

FPersonaModule

FPixelInspectorModule

FPlayTimeLimitModule

FPListEditor

FPropertyEditorModule

FQosModule

FRejoinModule

FRemoteImportLibraryModule

FRemoteImportMessagingModule

FRuntimeTestsModule

FSampleToolsEditorModeModule

FSceneDepthPickerModeModule

FSceneOutlinerModule

FScreenshotToolsModule

FSequencerScriptingEditorModule

FSequencerScriptingModule

FSocketSubsystemModule

FSoundCueTemplatesEditorModule

FSoundCueTemplatesModule

FSoundFieldRenderingModule

FSoundFieldsModule

FSoundUtilitiesEditorModule

FSoundUtilitiesModule

FSpatializationEditorModule

FSpatializationModule

FSslModule

FStatsViewerModule

FSteamSharedModule

FSteamSocketsModule

FSteamVREditorModule

FSteamVRInputModule

FStereoPanoramaModule

FStreamingPauseRenderingModule

FStringTableEditorModule

FStructViewerModule

FSynthesisEditorModule

FSynthesisModule

FTextureAlignModeModule

FTimeSynthEditorModule

FTimeSynthModule

FTranslationEditorModule

FVoiceModule

FWarpUtilsModule

FWebAuthModule

FWebSocketsModule

FWidgetCarouselModule

FWorkspaceMenuStructureModule

FWorldBrowserModule

IAddContentDialogModule

IADOSupport

IAdvertisingProvider

IAISupportModule

IAISystemModule

IAIModule

IAITestSuite

IAjaMediaModule

IAjaMediaOutputModule

IAlembicImporterModuleInterface

IAlembicLibraryModule

IAnalyticsProviderModule

FAnalyticsET

FAnalyticsFileLogging

FAnalyticsMulticast

IAnimationBlueprintEditorModule

IAnimationEditorModule

IAnimationModifiersModule

IAnimDistanceMatching

IAppleImageUtilsPlugin

IAppleVisionPlugin

IAssetManagerEditorModule

IAssetRegistryInterface

FAssetRegistryModule

IAudioDeviceModule

IMagicLeapAudioModule

IAudioEditorModule

IAudioFormatModule

IAudioSynesthesiaCoreModule

IAudioSynesthesiaEditorModule

IAutomationControllerModule

IAutomationWindowModule

IAutomationWorkerModule

IAxFImporterModule

IBlackmagicMediaModule

IBlankPlugin

IBlastCorePlugin

IBlastLibraryModule

IBlueprintCompilerCppBackendModuleInterface

IBlueprintCompilerCppBackendModule

IBlueprintNativeCodeGenModule

IBlueprintRuntime

IBlueprintStatsModule

IBlutilityModule

IBspModeModule

IBuildPatchServicesModule

ICADInterfacesModule

ICameraPhotographyModule

IAnselModule

ICascadeModule

IChaosClothModuleInterface

IChaosSolverEditorPlugin

IChaosSolverEnginePlugin

ICharacterAIModuleInterface

ICinematicCameraModule

ICompElementEditorModule

IComposure

ICompressionFormat

IConcertModule

IConcertSyncClientModule

IConcertSyncServerModule

IConcertSyncUIModule

IConcertTransportModule

IConfigEditorModule

IControlRigDeveloperModule

IControlRigEditorModule

IControlRigManipulationModule

IControlRigModule

ICurveEditorModule

ICustomMeshComponentPlugin

IDatabaseSupport

IDataprepEditorModule

IDataprepLibrariesModule

IDatasmithC4DTranslatorModule

IDatasmithContentEditorModule

IDatasmithContentModule

IDatasmithDeltaGenTranslatorModule

IDatasmithFBXTranslatorModule

IDatasmithGLTFTranslatorModule

IDatasmithIFCTranslatorModule

IDatasmithImporterModule

IDatasmithPlmXmlTranslatorModule

IDatasmithTranslatorModule

IDatasmithVREDTranslatorModule

IDataValidationModule

IDDCUtilsModuleInterface

IDerivedDataCacheModule

IDeviceManagerModule

IDeviceProfileSelectorModule

IPIEPreviewDeviceModule

FPIEPreviewDeviceModule

IDeviceProfileServicesModule

IDisasterRecoveryClientModule

IDisplayCluster

IDisplayClusterPostprocess

IDisplayClusterProjection

IDistributionCurveEditorModule

IDocumentationModule

IDynamicRHIModule

FNullDynamicRHIModule

FOpenGLDynamicRHIModule

FVulkanDynamicRHIModule

IEditableMeshModule

IEditorStyleModule

IExternalImagePickerModule

IEyeTrackerModule

IMagicLeapEyeTrackerModule

FMagicLeapEyeTrackerModule

IFieldSystemCorePlugin

IFieldSystemEditorModule

IFieldSystemSimulationCorePlugin

IFoliageEditModule

IFoliageModule

IFontEditorModule

IFunctionalTestingEditorModule

IFunctionalTestingModule

IGameplayAbilitiesEditorModule

IGameplayAbilitiesModule

IGameplayDebugger

IGameplayTagsEditorModule

IGameplayTagsModule

IGameplayTasksEditorModule

IGameplayTasksModule

IGeometryCollectionComponentPlugin

IGeometryCollectionEditorPlugin

IGeometryCollectionPlugin

IGeometryCollectionSimulationCorePlugin

IGLTFCoreModule

IGLTFImporterModule

IHardwareTargetingModule

IHeadMountedDisplay

FHeadMountedDisplayBase

IHeadMountedDisplayModule

IGoogleARCoreBaseModule

IGoogleVRHMDPlugin

IMagicLeapPlugin

IOculusHMDModule

IOpenXRHMDPlugin

ISimpleHMDPlugin

ISteamVRPlugin

IWindowsMixedRealityHMDPlugin

IHierarchicalLODUtilitiesModule

FHierarchicalLODUtilitiesModule

IHotReloadInterface

IHotReloadModule

IHTNPlannerModule

IHTNTestSuiteModule

IImageWrapperModule

IImageWriteQueueModule

IImediatePhysicsModule

IImgMediaModule

IInputBindingEditorModule

IInputDeviceModule

FRawInputPlugin

IDisplayClusterInputModule

IGoogleVRControllerPlugin

IMagicLeapControllerPlugin

IMagicLeapHandTrackingPlugin

IOculusInputModule

IOpenXRInputPlugin

IPixelStreamingModule

ISteamControllerPlugin

ISteamVRInputDeviceModule

IWindowsMixedRealityHandTrackingModule

IWindowsMixedRealitySpatialInputPlugin

IInstallBundleManagerModule

TInstallBundleManagerModule

IInternationalizationSettingsModule

IIntroTutorials

IIOSReplayKitModuleInterface

IKismetCompilerInterface

ILandmassEditorModuleInterface

ILandmassModuleInterface

ILandscapeEditorModule

ILandscapeModule

ILauncherServicesModule

ILensDistortion

ILevelSequenceEditorModule

ILevelSequenceModule

ILidarPointCloudEditorModule

ILidarPointCloudRuntimeModule

ILiveLinkCurveDebugUIModule

FLiveLinkCurveDebugUIModule

ILiveLinkOverNDisplayModule

ILocalizationDashboardModule

ILocalizationModule

ILocalizationServiceModule

ILocalNotificationModule

ILoginFlowModule

ILogVisualizer

ILuminARModule

IMagicLeapCameraPlugin

IMagicLeapConnectionsPlugin

IMagicLeapContactsPlugin

IMagicLeapCVCameraModule

IMagicLeapDispatchPlugin

IMagicLeapHandMeshingModule

IMagicLeapHelperOpenGLPlugin

IMagicLeapHelperVulkanPlugin

IMagicLeapIdentityPlugin

IMagicLeapImageTrackerModule

IMagicLeapLightEstimationPlugin

IMagicLeapLocationPlugin

IMagicLeapMovementPlugin

IMagicLeapMusicServicePlugin

IMagicLeapNetworkingPlugin

IMagicLeapPlanesModule

IMagicLeapPrivilegesModule

IMagicLeapScreensPlugin

IMagicLeapSecureStoragePlugin

IMagicLeapSharedFilePlugin

IMagicLeapTabletPlugin

IMainFrameModule

IMaterialBakingModule

IMaterialEditorModule

IMatineeModule

IMatineeToLevelSequenceModule

IMDLImporterModule

IMediaIOCoreModule

IMediaModule

IMerge

IMergeActorsModule

IMeshBoneReductionModule

IMeshBuilderCommonModule

IMeshBuilderModule

IMeshDescriptionModule

IMeshMergeModule

IMeshPaintModule

IMeshReductionManagerModule

IMeshReductionModule

IProxyLODMeshReduction

ISkeletalMeshReduction

IMeshUtilities

IMessagingModule

IMessagingRpcModule

IMobileLauncherProfileWizardModule

IModuleUIInterface

IMovieRenderPipelineEditorModule

IMovieSceneCaptureDialogModule

IMovieSceneCaptureModule

IMovieSceneModule

IMovieSceneTools

FMovieSceneToolsModule

IMovieSceneTracksModule

IMPCDI

IMRMeshModule

IMultiUserClientModule

INavSysModule

INetworkFileSystemModule

INetworkingModule

INetworkPredictionExtrasModule

INetworkPredictionModule

INetworkReplayStreamingFactory

FHttpNetworkReplayStreamingFactory

FLocalFileNetworkReplayStreamingFactory

FNullNetworkReplayStreamingFactory

INiagaraAnimNotifiesModule

INiagaraCoreModule

INiagaraModule

INiagaraShaderModule

INiagaraVertexFactoriesModule

IOculusEditorModule

IOculusMRModule

IOpenColorIOEditorModule

IOpenCVHelperModule

IOpenCVLensCalibrationModule

IOpenCVLensDistortionModule

IOutputRemap

IOverlayEditorModule

IOverlayModule

IPaper2DEditorModule

IPaper2DModuleInterface

IPerfCountersModule

IPFMExporter

IPhysicsAssetEditorModule

IPhysicsCoreModule

IPhysicsSQModule

IPhysicsSQModule

IPhysXCookingModule

FPhysXPlatformModule

IPhysXVehiclesEditorPlugin

IPhysXVehiclesPlugin

IPicpMPCDI

IPicpProjection

IPinnedCommandListModule

IPlacementModeModule

FPlacementModeModule

IPlanarCutPlugin

IPlatformChunkInstallModule

IPlatformCrypto

IPlatformCryptoOpenSSL

IPlatformFeaturesModule

IPlatformFileModule

IPluginBrowser

IPluginWardenModule

IPortalRpcModule

IPortalServiceProvider

IPortalServicesModule

IPreLoadMoviePlayerScreenModule

FPreLoadMoviePlayerScreenModuleBase

IProceduralMeshComponentEditorPlugin

IProceduralMeshComponentPlugin

IProfilerClientModule

IProfilerModule

IProfilerServiceModule

IProfileVisualizerModule

IProjectLauncherModule

IProjectTargetPlatformEditorModule

IPythonScriptPlugin

IRemoteControlModule

IRemoteDatabaseSupport

IRemoteSessionModule

IRendererModule

IResonanceAudioEditorModule

IResonanceAudioModule

IScreenShotComparisonModule

IScreenShotToolsModule

ISequenceRecorder

ISequencerModule

ISequencerWidgetsModule

ISerializedRecorderInterfaceModule

ISessionFrontendModule

ISessionServicesModule

ISettingsEditorModule

ISettingsModule

IShaderFormatModule

IShotgunModule

ISkeletalMeshEditorModule

ISkeletonEditorModule

ISlateNullRendererModule

ISlateReflectorModule

ISlateRHIRendererModule

ISoundModPlugin

ISoundVisualizationsPlugin

ISourceCodeAccessModule

ISourceControlModule

ISpeedTreeImporter

IStaticMeshEditorModule

ISteamAudioEditorModule

ISteamAudioModule

IStylusInputModule

ISynthBenchmark

ITakeRecorderModule

ITargetDeviceServicesModule

ITargetPlatformManagerModule

ITargetPlatformModule

ITcpMessagingModule

ITextureCompressorModule

ITextureEditorModule

ITextureFormatModule

ITimecodeSynchronizerEditorModule

ITimecodeSynchronizerModule

ITimeManagementModule

IToolboxModule

IToolMenusEditorModule

IToolMenusModule

ITraceServicesModule

IUATHelperModule

IUMGEditorModule

IUMGModule

IUndoHistoryModule

FUndoHistoryModule

IUnrealAudioModule

IUnrealInsightsModule

IUnrealUSDWrapperModule

IUObjectPlugin

IUsdExporterModule

IUSDImporterModule

IUsdSchemasModule

IUsdStageEditorModule

IUsdStageModule

IUsdUtilitiesModule

IVariantManagerContentEditorModule

IVariantManagerContentModule

IVariantManagerModule

IViewportInteractionModule

IViewportSnappingModule

IVirtualTexturingEditorModule

IVolumetrics

IVoronoiPlugin

IVREditorModule

IWebBrowserModule

IWebBrowserNativeProxyModule

IWebBrowserTextureModule

IWebBrowserWidgetModule

IWebMMediaModule

IWmfMediaModule

References

Module

Core

Header

/Engine/Source/Runtime/Core/Public/Modules/ModuleInterface.h

Include

#include "Modules/ModuleInterface.h"

Syntax

class IModuleInterface

Remarks

Interface class that all module implementations should derive from. This is used to initialize a module after it's been loaded, and also to clean it up before the module is unloaded.

Destructors

Name Description

Public function Virtual

~IModuleInterface()

Note: Even though this is an interface class we need a virtual destructor here because modules are deleted via a pointer to this interface

Functions

Name Description

Public function Virtual Const

bool

 

IsGameModule()

Returns true if this module hosts gameplay code

Public function Virtual

void

 

PostLoadCallback()

Called after the module has been reloaded

Public function Virtual

void

 

PreUnloadCallback()

Called before the module has been unloaded

Public function Virtual

void

 

ShutdownModule()

Called before the module is unloaded, right before the module object is destroyed.

Public function Virtual

void

 

StartupModule()

Called right after the module DLL has been loaded and the module object has been created Load dependent modules here, and they will be guaranteed to be available during ShutdownModule.

Public function Virtual

bool

 

SupportsAutomaticShutdown()

Override this to set whether your module would like cleanup on application shutdown

Public function Virtual

bool

 

SupportsDynamicReloading()

Override this to set whether your module is allowed to be unloaded on the fly

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback