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

FApsalarEditorModule

FAssetToolsModule

FAudioCaptureModule

FBaseMeshReconstructorModule

FBehaviorTreeEditorModule

FBlueprintEditorModule

FBlueprintGraphModule

FBlueprintMaterialTextureNodesModule

FChaosNiagaraModule

FClassViewerModule

FClothingSystemEditorInterfaceModule

FClothingSystemEditorModule

FClothingSystemRuntimeInterfaceModule

FClothingSystemRuntimeModule

FClothPaintingModule

FCollectionManagerModule

FCollisionAnalyzerModule

FCommonMenuExtensionsModule

FComponentVisualizersModule

FContentBrowserModule

FCurveAssetEditorModule

FCurveTableEditorModule

FDataTableEditorModule

FDefaultModuleImpl

FDefaultGameModuleImpl

IAnimationBudgetAllocatorModule

FEngineModule

FReplicationGraphModule

FSignificanceManagerModule

FDesktopPlatformModule

FDetailCustomizationsModule

FDeviceProfileEditorModule

FDirectoryWatcherModule

FDisplayClusterEditorModule

FDynamicMeshModule

FEditorInteractiveToolsFrameworkModule

FEditorSubsystemModule

FEditorTestsModule

FEditorWidgetsModule

FEnvironmentQueryEditorModule

FFbxAutomationBuilderModule

FFlurryEditorModule

FFractureEditorModule

FGameProjectGenerationModule

FGammaUI

FGauntletModule

FGeometricObjectsModule

FGeometryAlgorithmsModule

FGeometryCacheEdModule

FGeometryCacheModule

FGeometryCacheSequencerModule

FGeometryCacheTracksModule

FGeometryCollectionSequencerModule

FGeometryCollectionTracksModule

FGeometryModeModule

FGoogleARCoreRenderingModule

FGoogleVRTransition2DModule

FGraphEditorModule

FHierarchicalLODOutlinerModule

FHoloLensModuleAR

FHotfixModule

FHoudiniNiagaraEditorModule

FHoudiniNiagaraModule

FHttpModule

FHttpServerModule

FIcmpModule

FInputCoreModule

FInteractiveToolsFrameworkModule

FKismetWidgetsModule

FLandscapeEditorUtilitiesModule

FLauncherPlatformModule

FLayersModule

FLeapMotionEditorModule

FLevelEditorModule

FLobbyModule

FLocationServicesAndroidEditorModule

FLocationServicesBPLibraryModule

FLocationServicesIOSEditorModule

FMaterialUtilities

FMeshConversionModule

FMeshPaintModeModule

FMeshReductionModule

FMeshSolverUtilitiesModule

FMessageLogModule

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

FReliabilityHandlerComponentModuleInterface

FPartyModule

FPersonaModule

FPixelInspectorModule

FPlayTimeLimitModule

FPListEditor

FPropertyEditorModule

FQosModule

FRejoinModule

FRuntimeTestsModule

FSampleToolsEditorModeModule

FSceneDepthPickerModeModule

FSceneOutlinerModule

FScreenshotToolsModule

FSequencerScriptingEditorModule

FSequencerScriptingModule

FSocketSubsystemModule

FSoundUtilitiesEditorModule

FSoundUtilitiesModule

FSpatializationEditorModule

FSpatializationModule

FSslModule

FStatsViewerModule

FStereoPanoramaModule

FStreamingPauseRenderingModule

FStringTableEditorModule

FStructViewerModule

FSynthesisEditorModule

FSynthesisModule

FTextureAlignModeModule

FTimeSynthEditorModule

FTimeSynthModule

FTranslationEditorModule

FVirtualTexturingEditorModule

FVoiceModule

FWarpUtilsModule

FWidgetCarouselModule

FWorkspaceMenuStructureModule

FWorldBrowserModule

IAddContentDialogModule

IAdvertisingProvider

IAISupportModule

IAISystemModule

IAIModule

IAITestSuite

IAlembicImporterModuleInterface

IAlembicLibraryModule

IAnalyticsProviderModule

FAnalyticsET

FAnalyticsFileLogging

FAnalyticsMulticast

IAnimationBlueprintEditorModule

IAnimationEditorModule

IAnimationModifiersModule

IAnimDistanceMatching

IAppleImageUtilsPlugin

IAppleVisionPlugin

IAssetManagerEditorModule

IAssetRegistryInterface

FAssetRegistryModule

IAudioDeviceModule

IAudioEditorModule

IAudioFormatModule

IAutomationControllerModule

IAutomationWindowModule

IAutomationWorkerModule

IBlankModule

IBlastCorePlugin

IBlastLibraryModule

IBlueprintCompilerCppBackendModuleInterface

IBlueprintCompilerCppBackendModule

IBlueprintNativeCodeGenModule

IBlueprintRuntime

IBlueprintStatsModule

IBlutilityModule

IBspModeModule

IBuildPatchServicesModule

ICameraPhotographyModule

IAnselModule

ICascadeModule

IChaosClothModuleInterface

IChaosSolverEditorPlugin

IChaosSolverEnginePlugin

ICharacterAIModuleInterface

ICinematicCameraModule

ICompElementEditorModule

IComposure

ICompressionFormat

IConfigEditorModule

IControlRigDeveloperModule

IControlRigEditorModule

IControlRigModule

ICurveEditorModule

ICustomMeshComponentPlugin

IDataprepCoreModule

IDataprepEditorModule

IDataprepLibrariesModule

IDatasmithContentEditorModule

IDatasmithContentModule

IDataValidationModule

IDDCUtilsModuleInterface

IDerivedDataCacheModule

IDeviceManagerModule

IDeviceProfileSelectorModule

IPIEPreviewDeviceModule

FPIEPreviewDeviceModule

IDeviceProfileServicesModule

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

IPixelStreamingPlugin

ISteamControllerPlugin

ISteamVRControllerPlugin

IInternationalizationSettingsModule

IIntroTutorials

IKismetCompilerInterface

ILandscapeEditorModule

ILandscapeModule

ILauncherServicesModule

ILensDistortion

ILevelSequenceEditorModule

ILevelSequenceModule

ILiveLinkCurveDebugUIModule

FLiveLinkCurveDebugUIModule

ILocalizationDashboardModule

ILocalizationModule

ILocalizationServiceModule

ILocalNotificationModule

ILoginFlowModule

ILogVisualizer

IMagicLeapCameraPlugin

IMagicLeapHelperOpenGLPlugin

IMagicLeapHelperVulkanPlugin

IMagicLeapIdentityPlugin

IMagicLeapScreensPlugin

IMagicLeapSecureStoragePlugin

IMainFrameModule

IMaterialBakingModule

IMaterialEditorModule

IMatineeModule

IMatineeToLevelSequenceModule

IMediaIOCoreModule

IMediaModule

IMerge

IMergeActorsModule

IMeshBoneReductionModule

IMeshBuilderModule

IMeshDescriptionModule

IMeshMergeModule

IMeshPaintModule

IMeshReductionManagerModule

IMeshReductionModule

IProxyLODMeshReduction

ISkeletalMeshReduction

IMeshUtilities

IMessagingModule

IMessagingRpcModule

IMobileLauncherProfileWizardModule

IModuleUIInterface

IMovieSceneCaptureDialogModule

IMovieSceneCaptureModule

IMovieSceneModule

IMovieSceneTools

FMovieSceneToolsModule

IMovieSceneTracksModule

IMPCDI

IMRMeshModule

INavSysModule

INetworkFileSystemModule

INetworkingModule

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

IPlatformInstallBundleManagerModule

TPlatformInstallBundleManagerModule

IPluginBrowser

IPluginWardenModule

IPortalRpcModule

IPortalServiceProvider

IPortalServicesModule

IPreLoadMoviePlayerScreenModule

FPreLoadMoviePlayerScreenModuleBase

IProceduralMeshComponentEditorPlugin

IProceduralMeshComponentPlugin

IProfilerClientModule

IProfilerModule

IProfilerServiceModule

IProfileVisualizerModule

IProjectLauncherModule

IProjectTargetPlatformEditorModule

IPythonScriptPlugin

IRemoteControlModule

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

IUATHelperModule

IUMGEditorModule

IUMGModule

IUndoHistoryModule

FUndoHistoryModule

IUnrealAudioModule

IUnrealUSDWrapperModule

IUSDImporter

IUSDImporterModule

IVariantManagerContentModule

IViewportInteractionModule

IViewportSnappingModule

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