IModuleInterface

Interface class that all module implementations should derive from.

Windows
MacOS
Linux

Inheritance Hierarchy

IModuleInterface

AzureSpatialAnchors

FActorPaletteModule

FActorPickerModeModule

FAdjustEditorModule

FAdvancedPreviewSceneModule

FAdvertising

FAIGraphModule

FAnalytics

FAnalyticsBlueprintLibraryModule

FAnalyticsMulticastEditorModule

FAnalyticsVisualEditingModule

FAndroidCameraEditorModule

FAndroidPermissionModule

FAnimGraphModule

FAnimSharingEdModule

FARUtilitiesModule

FAssetRegistryModule

FAssetToolsModule

FAudioAnalyzerModule

FAudioCaptureCoreModule

FAudioCaptureModule

FAudioModulationModule

FAudioSynesthesiaModule

FAzureSpatialAnchorsForWMR

FBaseMeshReconstructorModule

FBehaviorTreeEditorModule

FBlueprintEditorModule

FBlueprintFileUtilsModule

FBlueprintGraphModule

FBlueprintMaterialTextureNodesModule

FCADToolsModule

FCameraShakePreviewerModule

FChaosClothEditorModule

FChaosCoreEngineModule

FChaosEngineModule

FChaosNiagaraModule

FChaosVehiclesCoreModule

FChaosVehiclesEngineModule

FClassViewerModule

FClothingSystemEditorInterfaceModule

FClothingSystemEditorModule

FClothingSystemRuntimeCommonModule

FClothingSystemRuntimeInterfaceModule

FClothingSystemRuntimeModuleNv

FClothPaintingModule

FCollectionManagerModule

FCollisionAnalyzerModule

FColorCorrectRegionsEditorModule

FColorCorrectRegionsModule

FCommonMenuExtensionsModule

FComponentVisualizersModule

FContentBrowserModule

FCurveAssetEditorModule

FCurveTableEditorModule

FDatasmithCADTranslatorModule

FDatasmithCoreTechExtensionModule

FDatasmithCoreTechParametricSurfaceDataModule

FDatasmithDispatcherModule

FDatasmithNativeTranslatorModule

FDatasmithOpenNurbsTranslatorModule

FDatasmithRemoteImportModule

FDatasmithWireTranslatorModule

FDataTableEditorModule

FDefaultModuleImpl

FAnimSharingModule

FDefaultGameModuleImpl

IAnimationBudgetAllocatorModule

FEngineModule

FReplicationGraphModule

FSignificanceManagerModule

FDesktopPlatformModule

FDetailCustomizationsModule

FDeviceProfileEditorModule

FDirectLinkModule

FDirectLinkTestModule

FDirectoryWatcherModule

FDMXBlueprintGraphModule

FDMXEditorModule

FDMXFixturesModule

FDMXProtocolArtNetModule

FDMXProtocolModule

FDMXProtocolSACNModule

FDynamicMeshModule

FEditorAnalyticsSessionModule

FEditorInteractiveToolsFrameworkModule

FEditorSubsystemModule

FEditorTestsModule

FEditorWidgetsModule

FEnvironmentLightingViewerModule

FEnvironmentQueryEditorModule

FExampleAssetEditorModule

FExrReaderGpuModule

FFbxAutomationBuilderModule

FFlurryEditorModule

FFractureEditorModule

FFullBodyIKModule

FGameProjectGenerationModule

FGammaUI

FGauntletModule

FGeometricObjectsModule

FGeometryAlgorithmsModule

FGeometryCacheEdModule

FGeometryCacheModule

FGeometryCacheSequencerModule

FGeometryCacheTracksModule

FGeometryCollectionSequencerModule

FGeometryCollectionTracksModule

FGeometryModeModule

FGizmoEdModeModule

FGoogleARCoreRenderingModule

FGooglePADEditorModule

FGooglePADModule

FGoogleVRTransition2DModule

FGraphEditorModule

FGroomEditor

FHairStrandsCore

FHDRIBackdropModule

FHierarchicalLODOutlinerModule

FHoloLensModuleAR

FHotfixModule

FHttpModule

FHttpServerModule

FIcmpModule

FInputCoreModule

FInstallBundleManagerModule

FInteractiveToolsFrameworkModule

FKismetWidgetsModule

FLandscapeEditorUtilitiesModule

FLauncherPlatformModule

FLayersModule

FLevelEditorModule

FLiveLinkControlRigModule

FLobbyModule

FLocationServicesAndroidEditorModule

FLocationServicesBPLibraryModule

FLocationServicesIOSEditorModule

FMaterialUtilities

FMeshConversionModule

FMeshModelingToolsEditorOnlyModule

FMeshModelingToolsModule

FMeshPaintModeModule

FMeshReductionModule

FMessageLogModule

FMicrosoftSpatialSoundModule

FModelingComponentsModule

FModelingOperatorsEditorOnlyModule

FModelingOperatorsModule

FModelingToolsEditorModeModule

FMotionTrailEditorModeModule

FMotoSynthEditorModule

FMotoSynthModule

FMovieRenderPipelineCoreModule

FNetworkReplayStreaming

FNewGizmoEnableModule

FNewLevelDialogModule

FNiagaraEditorModule

FNiagaraEditorWidgetsModule

FNUTModuleInterface

INetcodeUnitTest

INUTUnrealEngine4

FOculusAudioEditorPlugin

FOculusAudioPlugin

FOnlineSubsystemAmazonModule

FOnlineSubsystemFacebookModule

FOnlineSubsystemGoogleModule

FOnlineSubsystemModule

FOnlineSubsystemNullModule

FOnlineSubsystemOculusModule

FOnlineSubsystemSteamModule

FOnlineSubsystemTwitchModule

FOnlineSubsystemUtilsModule

FOpenXRMsftHandInteraction

FOptionalMobileFeaturesBPLibraryModule

FOSCModulationMixingModule

FOSCModule

FOutputLogModule

FPackagesDialogModule

FPacketHandlerComponentModuleInterface

FAESGCMHandlerComponentModule

FAESHandlerComponentModule

FDTLSHandlerComponentModule

FReliabilityHandlerComponentModuleInterface

FPartyModule

FPersonaModule

FPixelInspectorModule

FPlayTimeLimitModule

FPListEditor

FPropertyEditorModule

FQosModule

FRejoinModule

FRemoteImportLibraryModule

FRemoteImportMessagingModule

FRigLogicEditor

FRigLogicLib

FRigLogicLibTest

FRigLogicModule

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

FTakeMovieSceneModule

FTakeSequencerModule

FTextureAlignModeModule

FTimeSynthEditorModule

FTimeSynthModule

FTranslationEditorModule

FVCamCoreModule

FVCamInputModule

FVirtualHeightfieldMeshModule

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

IAssetSearchModule

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

ICascadeToNiagaraConverterModule

IChaosCachingEditorPlugin

IChaosCachingPlugin

IChaosClothModuleInterface

IChaosSolverEditorPlugin

IChaosSolverEnginePlugin

IChaosVehiclesEditorPlugin

IChaosVehiclesPlugin

ICharacterAIModuleInterface

ICinematicCameraModule

ICompElementEditorModule

IComposure

ICompressionFormat

IConcertModule

IConcertSyncClientModule

IConcertSyncServerModule

IConcertSyncUIModule

IConcertTransportModule

IConfigEditorModule

IContentBrowserDataModule

IControlRigDeveloperModule

IControlRigEditorModule

IControlRigModule

ICurveEditorModule

ICustomMeshComponentPlugin

IDatabaseSupport

IDataprepEditorModule

IDataprepLibrariesModule

IDatasmithC4DTranslatorModule

IDatasmithContentEditorModule

IDatasmithContentModule

IDatasmithDeltaGenTranslatorModule

IDatasmithFBXTranslatorModule

IDatasmithGLTFTranslatorModule

IDatasmithIFCTranslatorModule

IDatasmithImporterModule

IDatasmithPlmXmlTranslatorModule

IDatasmithRuntimeModuleInterface

IDatasmithTranslatorModule

IDatasmithVREDTranslatorModule

IDataValidationModule

IDDCUtilsModuleInterface

IDerivedDataCacheModule

IDeveloperSettingsModule

IDeviceManagerModule

IDeviceProfileSelectorModule

IPIEPreviewDeviceModule

FPIEPreviewDeviceModule

IDeviceProfileServicesModule

IDisasterRecoveryClientModule

IDisplayCluster

IDisplayClusterConfiguration

IDisplayClusterConfigurator

IDisplayClusterEditor

IDisplayClusterPostprocess

IDisplayClusterProjection

IDisplayClusterRendering

IDistributionCurveEditorModule

IDMXPixelMappingRendererModule

IDocumentationModule

IDynamicRHIModule

FNullDynamicRHIModule

FOpenGLDynamicRHIModule

FVulkanDynamicRHIModule

IEditableMeshModule

IEditorStyleModule

IEnhancedInputModule

IExternalImagePickerModule

IEyeTrackerModule

IMagicLeapEyeTrackerModule

FMagicLeapEyeTrackerModule

IOpenXREyeTrackerModule

IFieldSystemEditorModule

IFoliageEditModule

IFoliageModule

IFontEditorModule

IFunctionalTestingEditorModule

IFunctionalTestingModule

IGameplayAbilitiesEditorModule

IGameplayAbilitiesModule

IGameplayDebugger

IGameplayTagsEditorModule

IGameplayTagsModule

IGameplayTasksEditorModule

IGameplayTasksModule

IGeometryCollectionComponentPlugin

IGeometryCollectionEditorPlugin

IGLTFCoreModule

IGLTFImporterModule

IGPULightmassModule

FGPULightmassModule

IHardwareTargetingModule

IHeadMountedDisplay

FHeadMountedDisplayBase

IHeadMountedDisplayModule

IGoogleARCoreBaseModule

IGoogleVRHMDPlugin

IMagicLeapPlugin

IOculusHMDModule

IOpenXRHMDPlugin

ISimpleHMDPlugin

ISteamVRPlugin

IWindowsMixedRealityHMDPlugin

IHierarchicalLODUtilitiesModule

FHierarchicalLODUtilitiesModule

IHLMediaModule

IHotReloadInterface

IHotReloadModule

IHTNPlannerModule

IHTNTestSuiteModule

IImageWrapperModule

IImageWriteQueueModule

IImediatePhysicsModule

IImgMediaModule

IInputBindingEditorModule

IInputDeviceModule

FRawInputPlugin

IDisplayClusterInputModule

IGoogleVRControllerPlugin

IMagicLeapControllerPlugin

IMagicLeapHandTrackingPlugin

IOculusInputModule

IOpenXRHandTrackingModule

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

IMagicLeapBLEPlugin

IMagicLeapCameraPlugin

IMagicLeapConnectionsPlugin

IMagicLeapContactsPlugin

IMagicLeapCVCameraModule

IMagicLeapDispatchPlugin

IMagicLeapHandMeshingModule

IMagicLeapHelperOpenGLPlugin

IMagicLeapHelperVulkanPlugin

IMagicLeapIdentityPlugin

IMagicLeapImageTrackerModule

IMagicLeapLibraryLoader

IMagicLeapLightEstimationPlugin

IMagicLeapLocationPlugin

IMagicLeapMovementPlugin

IMagicLeapMusicServicePlugin

IMagicLeapNetworkingPlugin

IMagicLeapPlanesModule

IMagicLeapPrivilegesModule

IMagicLeapSecureStoragePlugin

IMagicLeapSharedFilePlugin

IMagicLeapTabletPlugin

IMainFrameModule

IMaterialBakingModule

IMaterialEditorModule

IMatineeModule

IMatineeToLevelSequenceModule

IMDLImporterModule

IMediaInfo

IMediaInfoModule

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

IOculusOpenXRHMDPlugin

IOpenColorIOEditorModule

IOpenColorIOModule

IOpenCVHelperModule

IOpenCVLensCalibrationModule

IOpenCVLensDistortionModule

IOpenExrRTTIModule

IOpenXRARModule

IOutputRemap

IOverlayEditorModule

IOverlayModule

IPaper2DEditorModule

IPaper2DModuleInterface

IPatchCheckModule

TPatchCheckModule

IPerfCountersModule

IPFMExporter

IPhysicsAssetEditorModule

IPhysicsCoreModule

IPhysicsSQModule

IPhysXCookingModule

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

IRemoteControlUIModule

IRemoteDatabaseSupport

IRemoteSessionModule

IRendererModule

IResonanceAudioEditorModule

IResonanceAudioModule

IRHITestModule

FRHITestsModule

IScreenShotComparisonModule

IScreenShotToolsModule

ISequenceRecorder

ISequencerModule

ISequencerWidgetsModule

ISerializedRecorderInterfaceModule

ISessionFrontendModule

ISessionServicesModule

ISettingsEditorModule

ISettingsModule

IShaderFormatModule

IShotgunModule

ISkeletalMeshEditorModule

ISkeletonEditorModule

ISlateNullRendererModule

ISlateReflectorModule

ISlateRHIRendererModule

ISoundModPlugin

ISoundVisualizationsPlugin

ISourceCodeAccessModule

ISourceControlModule

ISpeedTreeImporter

IStageDataProviderModule

IStageMonitorModule

IStaticMeshEditorModule

ISteamAudioEditorModule

ISteamAudioModule

IStylusInputModule

ISynthBenchmark

ITakeRecorderModule

ITargetDeviceServicesModule

ITargetPlatformManagerModule

ITargetPlatformModule

ITcpMessagingModule

ITextureCompressorModule

ITextureEditorModule

ITextureFormatModule

ITextureShare

ITextureShareCore

ITextureShareD3D11

ITextureShareD3D12

ITimecodeSynchronizerEditorModule

ITimecodeSynchronizerModule

ITimeManagementModule

IToolboxModule

IToolMenusEditorModule

IToolMenusModule

ITraceServicesModule

IUATHelperModule

IUE4MLModule

IUE4MLTestSuiteModule

IUMGEditorModule

IUMGModule

IUndoHistoryModule

FUndoHistoryModule

IUnrealAudioModule

IUnrealInsightsModule

IUnrealUSDWrapperModule

IUObjectPlugin

IUsdClassesModule

IUsdExporterModule

IUSDImporterModule

IUsdSchemasModule

IUsdStageEditorModule

IUsdStageEditorViewModelsModule

IUsdStageImporterModule

IUsdStageModule

IUsdUtilitiesModule

IVariantManagerContentEditorModule

IVariantManagerContentModule

IVariantManagerModule

IViewportInteractionModule

IViewportSnappingModule

IVirtualHeightfieldMeshEditorModule

IVirtualTexturingEditorModule

IVolumetrics

IVoronoiPlugin

IVPUtilitiesEditorModule

IVREditorModule

IWaterEditorModuleInterface

FWaterEditorModule

IWaterModuleInterface

IWebBrowserModule

IWebBrowserNativeProxyModule

IWebBrowserTextureModule

IWebBrowserWidgetModule

IWebMMediaModule

IWebRemoteControlModule

IWebSocketNetworkingModule

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