IPluginManager

PluginManager manages available code and content extensions (both loaded and not loaded).

Choose your operating system:

Windows

macOS

Linux

References

Module

Projects

Header

/Engine/Source/Runtime/Projects/Public/Interfaces/IPluginManager.h

Include

#include "Interfaces/IPluginManager.h"

Syntax

class IPluginManager

Remarks

PluginManager manages available code and content extensions (both loaded and not loaded).

Destructors

Name Description

Public function Virtual

~IPluginManager()

Functions

Name Description

Public function

bool

 

AddPluginSearchPath

(
    const FString& ExtraDiscoveryPath,
    bool bRefresh
)

Stores the specified path, utilizing it in future search passes when searching for available plugins.

Public function

bool

 

AddToPluginsList

(
    const FString& PluginFilename,
    FText* OutFailReason
)

Adds a single plugin to the list of plugins.

Public function

bool

 

AreRequiredPluginsAvailable()

Checks if all the required plug-ins are available.

Public function

bool

 

CheckModuleCompatibility

(
    TArray< FString >& OutIncompatible...,
    TArray< FString >& OutIncompatible...
)

Checks whether modules for the enabled plug-ins are up to date.

Public function

TSharedPtr< ...

 

FindPlugin

(
    const FStringView Name
)

Finds information for an enabled plugin.

Public function

TSharedPtr< ...

 

FindPlugin

(
    const ANSICHAR* Name
)

Public function

TSharedPtr< ...

 

FindPluginFromPath

(
    const FString& PluginPath
)

Public function Static

IPluginManag...

 

Get()

Static: Access singleton instance.

Public function Const

const TSet< ...

 

GetAdditionalPluginSearchPaths()

Returns the list of extra directories that are recursively searched for plugins (aside from the engine and project plugin directories).

Public function

TArray< TSha...

 

GetDiscoveredPlugins()

Gets an array of all the discovered plugins.

Public function

TArray< TSha...

 

GetEnabledPlugins()

Gets an array of all the enabled plugins.

Public function Const

TArray< TSha...

 

GetEnabledPluginsWithContent()

Gets an array of all enabled plugins that can have content.

Public function Const

TArray< TSha...

 

GetEnabledPluginsWithContentOrVerse()

Gets an array of all enabled plugins that can have content or Verse code.

Public function Const

TArray< TSha...

 

GetEnabledPluginsWithVerse()

Gets an array of all enabled plugins that can have Verse code.

Public function Const

ELoadingPhas...

 

GetLastCompletedLoadingPhase()

Returns the highest loading phase that has so far completed

Public function

void

 

GetLocalizationPathsForEnabledPlugins

(
    TArray< FString >& OutLocResPaths
)

Get the localization paths for all enabled plugins.

Public function Const

TArray< TSha...

 

GetPluginsWithPakFile()

Gets an array of plugins that loaded their own content pak file

Public function

bool

 

IntegratePluginsIntoConfig

(
    FConfigCacheIni& ConfigSystem,
    const TCHAR* EngineIniName,
    const TCHAR* PlatformName,
    const TCHAR* StagedPluginsFile
)

Scans a set of given plugins and adds them to the passed in ConfigSystem so that the runtime can load faster without needing to scan all plugins looking for config/paks

Public function

bool

 

LoadModulesForEnabledPlugins

(
    const ELoadingPhase::Type LoadingPh...
)

Loads all plug-ins

Public function

void

 

MountExplicitlyLoadedPlugin

(
    const FString& PluginName
)

Marks an explicitly loaded plugin as enabled, mounts its content and tries to load its modules.

Public function

void

 

MountNewlyCreatedPlugin

(
    const FString& PluginName
)

Marks a newly created plugin as enabled, mounts its content and tries to load its modules

Public function

FLoadingModu...

 

OnLoadingPhaseComplete()

Public function

FNewPluginMo...

 

OnNewPluginCreated()

Event signature for being notified that a new plugin has been created

Public function

FNewPluginMo...

 

OnNewPluginMounted()

Event for being notified that a new plugin has been mounted

Public function

FNewPluginMo...

 

OnPluginEdited()

Event for being notified that a plugin has been edited

Public function

FName

 

PackageNameFromModuleName

(
    FName ModuleName
)

Does a reverse lookup to try to figure out what the UObject package name is for a plugin

Public function

void

 

RefreshPluginsList()

Updates the list of plugins.

Public function

bool

 

RequiresTempTargetForCodePlugin

(
    const FProjectDescriptor* Proj...,
    const FString& Platform,
    EBuildConfiguration Configuration,
    EBuildTargetType TargetType,
    FText& OutReason
)

Determines if a content-only project requires a temporary target due to having a plugin enabled

Public function

void

 

SetRegisterMountPointDelegate

(
    const FRegisterMountPointDelegate&...
)

Sets the delegate to call to register a new content mount point.

Public function

void

 

SetUnRegisterMountPointDelegate

(
    const FRegisterMountPointDelegate&...
)

Sets the delegate to call to unregister a new content mount point.

Public function

void

 

SetUpdatePackageLocalizationCacheDelegate

(
    const FUpdatePackageLocalizationCac...
)

Sets the delegate to call to update the package localization cache.

Public function

bool

 

UnmountExplicitlyLoadedPlugin

(
    const FString& PluginName,
    FText* OutReason
)

Marks an explicitly loaded plugin as disabled, unmounts its content (does not work on plugins with compiled modules).

Classes

Name

Description

Public class

FLoadingModulesForPhaseEvent

Callback for when modules for when LoadModulesForEnabledPlugins() completes loading for a specific phase.

Public class

FNewPluginMountedEvent

Event signature for being notified that a new plugin has been mounted

Typedefs

Name

Description

FRegisterMountPointDelegate

Delegate type for mounting content paths.

FUpdatePackageLocalizationCacheDelegate

Delegate type for updating the package localization cache.

Deprecated Functions

Name Description

Public function Const

TArray< FPlu...

 

QueryStatusForAllPlugins()

QueryStatusForAllPlugins() has been deprecated. Please use GetDiscoveredPlugins() instead.