UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IModuleInterface Class Reference

#include <ModuleInterface.h>

+ Inheritance diagram for IModuleInterface:

Public Member Functions

virtual ~IModuleInterface ()
 
virtual void StartupModule ()
 
virtual void PreUnloadCallback ()
 
virtual void PostLoadCallback ()
 
virtual void ShutdownModule ()
 
virtual bool SupportsDynamicReloading ()
 
virtual bool SupportsAutomaticShutdown ()
 
virtual bool IsGameModule () const
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ ~IModuleInterface()

virtual IModuleInterface::~IModuleInterface ( )
inlinevirtual

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

Member Function Documentation

◆ IsGameModule()

virtual bool IModuleInterface::IsGameModule ( ) const
inlinevirtual

Returns true if this module hosts gameplay code

Returns
True for "gameplay modules", or false for engine code modules, plugins, etc.

◆ PostLoadCallback()

virtual void IModuleInterface::PostLoadCallback ( )
inlinevirtual

Called after the module has been reloaded

Reimplemented in FHttpModule.

◆ PreUnloadCallback()

virtual void IModuleInterface::PreUnloadCallback ( )
inlinevirtual

Called before the module has been unloaded

Reimplemented in IInstallBundleManagerModule, and FHttpModule.

◆ ShutdownModule()

virtual void IModuleInterface::ShutdownModule ( )
inlinevirtual

Called before the module is unloaded, right before the module object is destroyed. During normal shutdown, this is called in reverse order that modules finish StartupModule(). This means that, as long as a module references dependent modules in it's StartupModule(), it can safely reference those dependencies in ShutdownModule() as well.

Reimplemented in FAdvancedWidgetsModule, FAudioAnalyzerModule, FAVEncoderModule, FCrashReportCoreModule, FEngineModule, IDataflowSimulationPlugin, FLauncherPlatformModule, FStreamingPauseRenderingModule, FAdpcmAudioDecoderModule, FAnimGraphRuntimeModule, FAppFrameworkModule, FAudioCaptureCoreModule, Audio::FAudioCaptureAndroidModule, Audio::FAudioCaptureRtAudioModule, Audio::FAudioCaptureAudioUnitModule, Audio::FAudioCaptureWasapiModule, Audio::FWindowsMMDeviceEnumerationModule, FAudioLinkModule, FAudioPlatformSupportWasapiModule, FAutomationMessagesModule, FAutomationTestModule, FAutomationWorkerModule, FBinkAudioDecoderModule, FCborModule, FClothingSystemRuntimeCommonModule, FClothingSystemRuntimeInterfaceModule, FClothingSystemRuntimeModuleNv, FColorManagementModule, FCookOnTheFlyModule, FCUDAModule, FD3D12DynamicRHIModule, FDeveloperSettingsModule, IPIEPreviewDeviceModule, FEngineMessagesModule, FEngineSettingsModule, FConstraintsModule, FChaosEngineModule, FChaosCoreEngineModule, FChaosVehiclesCoreModule, FChaosVehiclesEngineModule, IDataflowCoreModule, FDataflowEngineModule, Experimental::FIndexedCacheStorageModule, UE::IoStore::FIoStoreOnDemandModule, UE::IoStore::FIoStoreOnDemandCoreModule, FGameplayDebuggerModule, FGameplayMediaEncoderModule, FGameplayTasksModule, FGeometryCoreModule, FGeometryFrameworkModule, FHardwareSurveyModule, FImageWrapperModule, FInstallBundleManagerModule, FInteractiveToolsFrameworkModule, FInterchangeCoreModule, FInterchangeEngineModule, FIOSPlatformFeatures, FLaunchDaemonMessagesModule, FMarketplaceKitModule, FJsonModule, FLandscapeModule, FLevelSequenceModule, FMediaModule, FMediaAssetsModule, FMediaUtilsModule, FMeshConversionModule, FMeshConversionEngineTypesModule, FMeshDescriptionModule, FMessagingModule, FMessagingRpcModule, FMovieSceneModule, FNetCommonModule, FNetCoreModule, FNetworkingModule, FHttpNetworkReplayStreamingFactory, FLocalFileNetworkReplayStreamingFactory, FBackgroundHttpModule, FBuildPatchServicesModule, UE::EventLoop::FEventLoopModule, FHttpModule, FHttpServerModule, FImageDownloadModule, FOpenColorIOWrapperModule, FOpusAudioDecoderModule, FOverlayModule, FPacketHandlerComponentModuleInterface, FPakFileModule, FPerfCountersModule, FPortalMessagesModule, FPortalProxiesModule, FPortalRpcModule, FPortalServicesModule, FProjectsModule, FPropertyPathModule, FRadAudioDecoderModule, FRenderCoreModule, FRendererModule, FSerializationModule, FSessionMessagesModule, FSessionServicesModule, Audio::FSignalProcessingModule, FSkeletalMeshDescriptionModule, FSlateNullRendererModule, FSlateRHIRendererModule, FSocketSubsystemModule, FSoundFieldRenderingModule, FStaticMeshUtilitiesModule, FStorageServerClientModule, FStorageServerClientDebugModule, FTypedElementFrameworkModule, FUMGModule, UE::UniversalObjectLocator::FUniversalObjectLocatorModule, FVorbisAudioDecoderModule, and FWidgetCarouselModule.

◆ StartupModule()

virtual void IModuleInterface::StartupModule ( )
inlinevirtual

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. ie:

FModuleManager::Get().LoadModuleChecked(TEXT("HTTP"));

Reimplemented in FAdvancedWidgetsModule, FAudioAnalyzerModule, FCrashReportCoreModule, FEngineModule, IDataflowSimulationPlugin, FLauncherPlatformModule, FStreamingPauseRenderingModule, FAdpcmAudioDecoderModule, FAudioMixerModuleAndroid, FAnimGraphRuntimeModule, FAppFrameworkModule, FAudioMixerModuleAudioUnit, FAudioMixerModuleCoreAudio, FAssetRegistryModule, FAudioCaptureCoreModule, Audio::FAudioCaptureAndroidModule, Audio::FAudioCaptureRtAudioModule, Audio::FAudioCaptureAudioUnitModule, Audio::FAudioCaptureWasapiModule, Audio::FWindowsMMDeviceEnumerationModule, FAudioExtensionsModule, FAudioLinkModule, FAudioMixerPlatformAudioLinkModule, FAudioMixerModule, FAudioMixerCoreModule, FAudioPlatformConfigurationModule, FAudioPlatformSupportWasapiModule, FAutomationMessagesModule, FAutomationTestModule, FAutomationWorkerModule, FBinkAudioDecoderModule, FCborModule, FCinematicCameraModule, FClothingSystemRuntimeCommonModule, FClothingSystemRuntimeInterfaceModule, FClothingSystemRuntimeModuleNv, FColorManagementModule, FCookOnTheFlyModule, FCoreUObjectModule, FCUDAModule, FD3D12DynamicRHIModule, FDirectLinkModule, FDeveloperSettingsModule, ICameraPhotographyModule, IPIEPreviewDeviceModule, FEngineMessagesModule, FEngineSettingsModule, FConstraintsModule, FChaosEngineModule, FChaosCoreEngineModule, FChaosVehiclesCoreModule, FChaosVehiclesEngineModule, IDataflowCoreModule, FDataflowEngineModule, Experimental::FIndexedCacheStorageModule, UE::IoStore::FIoStoreOnDemandModule, UE::IoStore::FIoStoreOnDemandCoreModule, IEyeTrackerModule, FGameplayDebuggerModule, FGameplayMediaEncoderModule, FGameplayTasksModule, FGeometryCoreModule, FGeometryFrameworkModule, FHardwareSurveyModule, IHeadMountedDisplayModule, FImageWrapperModule, FInputCoreModule, IInputDeviceModule, FInstallBundleManagerModule, TInstallBundleManagerModule< InstallBundleManagerModuleImpl >, TInstallBundleManagerModule< FNullInstallBundleManager >, FInteractiveToolsFrameworkModule, FInterchangeCoreModule, FInterchangeEngineModule, FIOSPlatformFeatures, FLaunchDaemonMessagesModule, FMarketplaceKitModule, FJsonModule, FLandscapeModule, FLevelSequenceModule, FAudioMixerModuleSDL, FMediaModule, FMediaAssetsModule, FMediaUtilsModule, FMeshConversionModule, FMeshConversionEngineTypesModule, FMeshDescriptionModule, FMessagingModule, FMessagingRpcModule, FMovieSceneModule, FBaseMeshReconstructorModule, FNetCommonModule, FNetCoreModule, FNetworkingModule, FLocalFileNetworkReplayStreamingFactory, FSaveGameNetworkReplayStreamingFactory, FBackgroundHttpModule, FBuildPatchServicesModule, UE::EventLoop::FEventLoopModule, FHttpModule, FHttpServerModule, FImageDownloadModule, FOpenColorIOWrapperModule, FOpusAudioDecoderModule, FOverlayModule, FPacketHandlerComponentModuleInterface, FPakFileModule, FPortalMessagesModule, FPortalProxiesModule, FPortalRpcModule, FPortalServicesModule, FProjectsModule, FPropertyPathModule, FRadAudioDecoderModule, FRenderCoreModule, FRendererModule, FRuntimeAssetCacheModule, FSerializationModule, FSessionMessagesModule, FSessionServicesModule, Audio::FSignalProcessingModule, FSkeletalMeshDescriptionModule, FSlateNullRendererModule, FSlateRHIRendererModule, FSocketSubsystemModule, FSoundFieldRenderingModule, FStaticMeshUtilitiesModule, FStorageServerClientModule, FStorageServerClientDebugModule, FTypedElementFrameworkModule, FTypedElementRuntimeModule, FUMGModule, UE::UniversalObjectLocator::FUniversalObjectLocatorModule, FVorbisAudioDecoderModule, FVulkanDynamicRHIModule, FWidgetCarouselModule, FAudioMixerModuleWasapi, and FAudioMixerModuleXAudio2.

◆ SupportsAutomaticShutdown()

virtual bool IModuleInterface::SupportsAutomaticShutdown ( )
inlinevirtual

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

Returns
Whether the module supports shutdown on application exit

Reimplemented in FPerfCountersModule, and FSocketSubsystemModule.

◆ SupportsDynamicReloading()


The documentation for this class was generated from the following file: