IModuleInterface

Interface class that all module implementations should derive from.

Windows
MacOS
Linux

Inheritance Hierarchy

IModuleInterface

FActorPickerModeModule

FAdjustEditorModule

FAdvancedPreviewSceneModule

FAdvertising

FAIGraphModule

FAnalytics

FAnalyticsBlueprintLibraryModule

FAnalyticsMulticastEditorModule

FAnalyticsVisualEditingModule

FAndroidCameraEditorModule

FAndroidPermissionModule

FAnimGraphModule

FAnimSharingEdModule

FApsalarEditorModule

FAssetToolsModule

FAudioAnalyzerModule

FAudioCaptureCoreModule

FAudioCaptureModule

FAudioModulationModule

FAudioSynesthesiaModule

FBaseMeshReconstructorModule

FBehaviorTreeEditorModule

FBlueprintEditorModule

FBlueprintGraphModule

FBlueprintMaterialTextureNodesModule

FChaosClothEditorModule

FChaosCoreEngineModule

FChaosEngineModule

FChaosNiagaraModule

FChaosSolversModule

FClassViewerModule

FClothingSystemEditorInterfaceModule

FClothingSystemEditorModule

FClothingSystemRuntimeCommonModule

FClothingSystemRuntimeInterfaceModule

FClothingSystemRuntimeModuleNv

FClothPaintingModule

FCollectionManagerModule

FCollisionAnalyzerModule

FCommonMenuExtensionsModule

FComponentVisualizersModule

FContentBrowserModule

FCurveAssetEditorModule

FCurveTableEditorModule

FDatasmithNativeTranslatorModule

FDataTableEditorModule

FDefaultModuleImpl

FAnimSharingModule

FDefaultGameModuleImpl

IAnimationBudgetAllocatorModule

FEngineModule

FReplicationGraphModule

FSignificanceManagerModule

FDesktopPlatformModule

FDetailCustomizationsModule

FDeviceProfileEditorModule

FDirectoryWatcherModule

FDisplayClusterEditorModule

FDynamicMeshModule

FEditorAnalyticsSessionModule

FEditorInteractiveToolsFrameworkModule

FEditorSubsystemModule

FEditorTestsModule

FEditorWidgetsModule

FEnvironmentQueryEditorModule

FFbxAutomationBuilderModule

FFlurryEditorModule

FFractureEditorModule

FGameProjectGenerationModule

FGammaUI

FGauntletModule

FGeometricObjectsModule

FGeometryAlgorithmsModule

FGeometryCacheEdModule

FGeometryCacheModule

FGeometryCacheSequencerModule

FGeometryCacheTracksModule

FGeometryCollectionSequencerModule

FGeometryCollectionTracksModule

FGeometryModeModule

FGoogleARCoreRenderingModule

FGoogleVRTransition2DModule

FGraphEditorModule

FHairStrandsCore

FHairStrandsEditor

FHairStrandsNiagara

FHDRIBackdropModule

FHierarchicalLODOutlinerModule

FHoloLensModuleAR

FHotfixModule

FHoudiniNiagaraEditorModule

FHoudiniNiagaraModule

FHttpModule

FHttpServerModule

FIcmpModule

FInputCoreModule

FInstallBundleManagerModule

FInteractiveToolsFrameworkModule

FKismetWidgetsModule

FLandscapeEditorUtilitiesModule

FLauncherPlatformModule

FLayersModule

FLeapMotionEditorModule

FLevelEditorModule

FLobbyModule

FLocationServicesAndroidEditorModule

FLocationServicesBPLibraryModule

FLocationServicesIOSEditorModule

FMaterialUtilities

FMeshConversionModule

FMeshModelingToolsEditorOnlyModule

FMeshModelingToolsModule

FMeshPaintModeModule

FMeshReductionModule

FMeshSolverUtilitiesModule

FMessageLogModule

FMicrosoftSpatialSoundModule

FModelingComponentsModule

FModelingOperatorsEditorOnlyModule

FModelingOperatorsModule

FModelingToolsEditorModeModule

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

FRuntimeTestsModule

FSampleToolsEditorModeModule

FSceneDepthPickerModeModule

FSceneOutlinerModule

FScreenshotToolsModule

FSequencerScriptingEditorModule

FSequencerScriptingModule

FSocketSubsystemModule

FSoundCueTemplatesModule

FSoundUtilitiesEditorModule

FSoundUtilitiesModule

FSpatializationEditorModule

FSpatializationModule

FSslModule

FStatsViewerModule

FSteamSharedModule

FSteamSocketsModule

FStereoPanoramaModule

FStreamingPauseRenderingModule

FStringTableEditorModule

FStructViewerModule

FSynthesisEditorModule

FSynthesisModule

FTextureAlignModeModule

FTimeSynthEditorModule

FTimeSynthModule

FTranslationEditorModule

FVoiceModule

FWarpUtilsModule

FWebSocketsModule

FWidgetCarouselModule

FWorkspaceMenuStructureModule

FWorldBrowserModule

IAddContentDialogModule

IADOSupport

IAdvertisingProvider

IAISupportModule

IAISystemModule

IAIModule

IAITestSuite

IAlembicImporterModuleInterface

IAlembicLibraryModule

IAnalyticsProviderModule

FAnalyticsET

FAnalyticsFileLogging

FAnalyticsMulticast

IAnimationBlueprintEditorModule

IAnimationEditorModule

IAnimationModifiersModule

IAnimDistanceMatching

IAppleImageUtilsPlugin

IAppleVisionPlugin

IAssetManagerEditorModule

IAssetRegistryInterface

FAssetRegistryModule

IAudioDeviceModule

IMagicLeapAudioModule

IAudioEditorModule

IAudioFormatModule

IAudioSynesthesiaEditorModule

IAutomationControllerModule

IAutomationWindowModule

IAutomationWorkerModule

IAxFImporterModule

IBlankPlugin

IBlastCorePlugin

IBlastLibraryModule

IBlueprintCompilerCppBackendModuleInterface

IBlueprintCompilerCppBackendModule

IBlueprintNativeCodeGenModule

IBlueprintRuntime

IBlueprintStatsModule

IBlutilityModule

IBspModeModule

IBuildPatchServicesModule

ICameraPhotographyModule

IAnselModule

ICascadeModule

IChaosClothModuleInterface

IChaosSolverEditorPlugin

IChaosSolverEnginePlugin

ICharacterAIModuleInterface

ICinematicCameraModule

ICompElementEditorModule

IComposure

ICompressionFormat

IConcertModule

IConcertSyncClientModule

IConcertSyncServerModule

IConcertSyncUIModule

IConcertTransportModule

IConfigEditorModule

IControlRigDeveloperModule

IControlRigEditorModule

IControlRigManipulationModule

IControlRigModule

ICurveEditorModule

ICustomMeshComponentPlugin

IDatabaseSupport

IDataprepCoreModule

IDataprepEditorModule

IDataprepLibrariesModule

IDatasmithC4DTranslatorModule

IDatasmithContentEditorModule

IDatasmithContentModule

IDatasmithDeltaGenTranslatorModule

IDatasmithFBXTranslatorModule

IDatasmithGLTFTranslatorModule

IDatasmithIFCTranslatorModule

IDatasmithImporterModule

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

IGeometryCollectionExamplePlugin

IGeometryCollectionPlugin

IGeometryCollectionSimulationCorePlugin

IGLTFImporterModule

IHardwareTargetingModule

IHeadMountedDisplay

FHeadMountedDisplayBase

IHeadMountedDisplayModule

IGoogleARCoreBaseModule

IGoogleVRHMDPlugin

IMagicLeapPlugin

IOculusHMDModule

IOpenXRHMDPlugin

ISimpleHMDPlugin

ISteamVRPlugin

IHierarchicalLODUtilitiesModule

FHierarchicalLODUtilitiesModule

IHoloLensDeviceDetectorModule

IHotReloadInterface

IHotReloadModule

IHTNPlannerModule

IHTNTestSuiteModule

IImageWrapperModule

IImageWriteQueueModule

IImediatePhysicsModule

IImgMediaModule

IInputBindingEditorModule

IInputDeviceModule

FRawInputPlugin

IBodyState

IDisplayClusterInputModule

IGoogleVRControllerPlugin

ILeapMotionPlugin

IMagicLeapControllerPlugin

IMagicLeapHandTrackingPlugin

IOculusInputModule

IOpenXRInputPlugin

IPixelStreamingModule

ISteamControllerPlugin

ISteamVRControllerPlugin

IInstallBundleManagerModule

TInstallBundleManagerModule

IInternationalizationSettingsModule

IIntroTutorials

IKismetCompilerInterface

ILandmassEditorModuleInterface

ILandmassModuleInterface

ILandscapeEditorModule

ILandscapeModule

ILauncherServicesModule

ILensDistortion

ILevelSequenceEditorModule

ILevelSequenceModule

ILiveLinkCurveDebugUIModule

FLiveLinkCurveDebugUIModule

ILocalizationDashboardModule

ILocalizationModule

ILocalizationServiceModule

ILocalNotificationModule

ILoginFlowModule

ILogVisualizer

ILuminARModule

IMagicLeapARPinModule

IMagicLeapCameraPlugin

IMagicLeapContactsPlugin

IMagicLeapDispatchPlugin

IMagicLeapHandMeshingModule

IMagicLeapHelperOpenGLPlugin

IMagicLeapHelperVulkanPlugin

IMagicLeapIdentityPlugin

IMagicLeapImageTrackerModule

IMagicLeapLightEstimationPlugin

IMagicLeapLocationPlugin

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

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

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

IUATHelperModule

IUMGEditorModule

IUMGModule

IUndoHistoryModule

FUndoHistoryModule

IUnrealAudioModule

IUnrealUSDWrapperModule

IUObjectPlugin

IUsdExporterModule

IUSDImporterModule

IUsdStageEditorModule

IUsdStageModule

IUsdUtilitiesModule

IVariantManagerContentEditorModule

IVariantManagerContentModule

IVariantManagerModule

IViewportInteractionModule

IViewportSnappingModule

IVirtualTexturingEditorModule

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