UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IProjectManager Class Referenceabstract

#include <IProjectManager.h>

+ Inheritance diagram for IProjectManager:

Public Member Functions

virtual ~IProjectManager ()
 
virtual const FProjectDescriptorGetCurrentProject () const =0
 
virtual bool LoadProjectFile (const FString &ProjectFile)=0
 
virtual bool LoadModulesForProject (const ELoadingPhase::Type LoadingPhase)=0
 
virtual bool SubstituteModule (const FString &OriginalModuleName, const FString &NewModuleName)=0
 
 DECLARE_EVENT_TwoParams (IProjectManager, FLoadingModulesForPhaseEvent, ELoadingPhase::Type, bool)
 
virtual FLoadingModulesForPhaseEventOnLoadingPhaseComplete ()=0
 
virtual bool CheckModuleCompatibility (TArray< FString > &OutIncompatibleModules)=0
 
virtual const FString & GetAutoLoadProjectFileName ()=0
 
virtual bool SignSampleProject (const FString &FilePath, const FString &Category, FText &OutFailReason)=0
 
virtual bool QueryStatusForProject (const FString &FilePath, FProjectStatus &OutProjectStatus) const =0
 
virtual bool QueryStatusForCurrentProject (FProjectStatus &OutProjectStatus) const =0
 
virtual void UpdateSupportedTargetPlatformsForProject (const FString &FilePath, const FName &InPlatformName, const bool bIsSupported)=0
 
virtual void UpdateSupportedTargetPlatformsForCurrentProject (const FName &InPlatformName, const bool bIsSupported)=0
 
virtual void ClearSupportedTargetPlatformsForProject (const FString &FilePath)=0
 
virtual void ClearSupportedTargetPlatformsForCurrentProject ()=0
 
 DECLARE_MULTICAST_DELEGATE (FOnTargetPlatformsForCurrentProjectChangedEvent)
 
virtual FOnTargetPlatformsForCurrentProjectChangedEventOnTargetPlatformsForCurrentProjectChanged ()=0
 
virtual bool HasDefaultPluginSettings () const =0
 
virtual bool SetPluginEnabled (const FString &PluginName, bool bEnabled, FText &OutFailReason)=0
 
virtual bool RemovePluginReference (const FString &PluginName, FText &OutFailReason)=0
 
virtual bool UpdateAdditionalPluginDirectory (const FString &Dir, const bool bAddOrRemove)=0
 
virtual const TArray< FString > & GetAdditionalPluginDirectories () const =0
 
virtual bool IsCurrentProjectDirty () const =0
 
virtual bool SaveCurrentProjectToDisk (FText &OutFailReason)=0
 
virtual bool IsEnterpriseProject ()=0
 
virtual void SetIsEnterpriseProject (bool bValue)=0
 
virtual TArray< FModuleContextInfo > & GetCurrentProjectModuleContextInfos ()=0
 
virtual bool IsSuppressingProjectFileWrite () const =0
 
virtual void AddSuppressProjectFileWrite (const FName InName)=0
 
virtual void RemoveSuppressProjectFileWrite (const FName InName)=0
 

Static Public Member Functions

static PROJECTS_API IProjectManagerGet ()
 

Detailed Description

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

Constructor & Destructor Documentation

◆ ~IProjectManager()

virtual IProjectManager::~IProjectManager ( )
inlinevirtual

Member Function Documentation

◆ AddSuppressProjectFileWrite()

virtual void IProjectManager::AddSuppressProjectFileWrite ( const FName  InName)
pure virtual

Suppress project file writes.

Implemented in FProjectManager.

◆ CheckModuleCompatibility()

virtual bool IProjectManager::CheckModuleCompatibility ( TArray< FString > &  OutIncompatibleModules)
pure virtual

Checks if the modules for a project are up to date

Returns
false if UBT needs to be run to recompile modules for a project.

Implemented in FProjectManager.

◆ ClearSupportedTargetPlatformsForCurrentProject()

virtual void IProjectManager::ClearSupportedTargetPlatformsForCurrentProject ( )
pure virtual

Clear the list of supported target platforms for the current project

Implemented in FProjectManager.

◆ ClearSupportedTargetPlatformsForProject()

virtual void IProjectManager::ClearSupportedTargetPlatformsForProject ( const FString &  FilePath)
pure virtual

Clear the list of supported target platforms for the target project

Implemented in FProjectManager.

◆ DECLARE_EVENT_TwoParams()

IProjectManager::DECLARE_EVENT_TwoParams ( IProjectManager  ,
FLoadingModulesForPhaseEvent  ,
ELoadingPhase::Type  ,
bool   
)

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

◆ DECLARE_MULTICAST_DELEGATE()

IProjectManager::DECLARE_MULTICAST_DELEGATE ( FOnTargetPlatformsForCurrentProjectChangedEvent  )

Called when the target platforms for the current project are changed

◆ Get()

IProjectManager & IProjectManager::Get ( )
static

Static: Access singleton instance

Returns
Reference to the singleton object

◆ GetAdditionalPluginDirectories()

virtual const TArray< FString > & IProjectManager::GetAdditionalPluginDirectories ( ) const
pure virtual

Returns the list of additional directories to be scanned for plugins (aside from the engine and project plugin directories).

Implemented in FProjectManager.

◆ GetAutoLoadProjectFileName()

virtual const FString & IProjectManager::GetAutoLoadProjectFileName ( )
pure virtual

Gets the name of the text file that contains the most recently loaded filename.

This is NOT the name of the recently loaded .uproject file.

Returns
File name.

Implemented in FProjectManager.

◆ GetCurrentProject()

virtual const FProjectDescriptor * IProjectManager::GetCurrentProject ( ) const
pure virtual

Gets the current project descriptor.

Returns
Pointer to the currently loaded project descriptor. NULL if none is loaded.

Implemented in FProjectManager.

◆ GetCurrentProjectModuleContextInfos()

virtual TArray< FModuleContextInfo > & IProjectManager::GetCurrentProjectModuleContextInfos ( )
pure virtual

Access array used to cache current project's list of module context infos

Implemented in FProjectManager.

◆ HasDefaultPluginSettings()

virtual bool IProjectManager::HasDefaultPluginSettings ( ) const
pure virtual

Checks whether the current project has default settings for plugins (ie. does not enable any new plugins, or disable any default plugins)

Returns
True if the project has the default plugin settings.

Implemented in FProjectManager.

◆ IsCurrentProjectDirty()

virtual bool IProjectManager::IsCurrentProjectDirty ( ) const
pure virtual

Checks whether the current loaded project has been modified but not saved to disk

Implemented in FProjectManager.

◆ IsEnterpriseProject()

virtual bool IProjectManager::IsEnterpriseProject ( )
pure virtual

Gets the enterprise flag value on the current project

Returns
True if the project is an Enterprise project

Implemented in FProjectManager.

◆ IsSuppressingProjectFileWrite()

virtual bool IProjectManager::IsSuppressingProjectFileWrite ( ) const
pure virtual

Returns true if project file write should be suppressed.

Implemented in FProjectManager.

◆ LoadModulesForProject()

virtual bool IProjectManager::LoadModulesForProject ( const ELoadingPhase::Type  LoadingPhase)
pure virtual

Loads all modules for the currently loaded project in the specified loading phase

Parameters
LoadingPhaseWhich loading phase we're loading modules from. Only modules that are configured to be loaded at the specified loading phase will be loaded during this call.

Implemented in FProjectManager.

◆ LoadProjectFile()

virtual bool IProjectManager::LoadProjectFile ( const FString &  ProjectFile)
pure virtual

Loads the specified project file.

Parameters
ProjectFile- The project file to load.
Returns
true if the project was loaded successfully, false otherwise.
See also
GetLoadedGameProjectFile

Implemented in FProjectManager.

◆ OnLoadingPhaseComplete()

virtual FLoadingModulesForPhaseEvent & IProjectManager::OnLoadingPhaseComplete ( )
pure virtual

Implemented in FProjectManager.

◆ OnTargetPlatformsForCurrentProjectChanged()

virtual FOnTargetPlatformsForCurrentProjectChangedEvent & IProjectManager::OnTargetPlatformsForCurrentProjectChanged ( )
pure virtual

Implemented in FProjectManager.

◆ QueryStatusForCurrentProject()

virtual bool IProjectManager::QueryStatusForCurrentProject ( FProjectStatus OutProjectStatus) const
pure virtual

Gets status about the current project

Parameters
OutProjectStatusThe status for the project.
Returns
true if the file was successfully open and read

Implemented in FProjectManager.

◆ QueryStatusForProject()

virtual bool IProjectManager::QueryStatusForProject ( const FString &  FilePath,
FProjectStatus OutProjectStatus 
) const
pure virtual

Gets status about the specified project

Parameters
FilePathThe filepath where the project is stored.
OutProjectStatusThe status for the project.
Returns
true if the file was successfully open and read

Implemented in FProjectManager.

◆ RemovePluginReference()

virtual bool IProjectManager::RemovePluginReference ( const FString &  PluginName,
FText OutFailReason 
)
pure virtual

Implemented in FProjectManager.

◆ RemoveSuppressProjectFileWrite()

virtual void IProjectManager::RemoveSuppressProjectFileWrite ( const FName  InName)
pure virtual

Removes suppression of project file writes.

Implemented in FProjectManager.

◆ SaveCurrentProjectToDisk()

virtual bool IProjectManager::SaveCurrentProjectToDisk ( FText OutFailReason)
pure virtual

Saves the current project to the project path

Parameters
OutFailReasonOn failure, gives an error message
Returns
True if the project was saved successfully

Implemented in FProjectManager.

◆ SetIsEnterpriseProject()

virtual void IProjectManager::SetIsEnterpriseProject ( bool  bValue)
pure virtual

Sets the enterprise flag value on the current project

Parameters
bValueThe value to set the enterprise flag to

Implemented in FProjectManager.

◆ SetPluginEnabled()

virtual bool IProjectManager::SetPluginEnabled ( const FString &  PluginName,
bool  bEnabled,
FText OutFailReason 
)
pure virtual

Sets whether a plugin is enabled for the current project configuration. Potentially updates the current project descriptor, but does not save to disk and may require restarting to load it.

Note
Use IsCurrentProjectDirty() to tell whether the project was actually modified.
Parameters
PluginNameName of the plugin
bEnabledWhether to enable or disable the plugin
OutFailReasonOn failure, gives an error message
Returns
False on failure to update the current project descriptor.

Implemented in FProjectManager.

◆ SignSampleProject()

virtual bool IProjectManager::SignSampleProject ( const FString &  FilePath,
const FString &  Category,
FText OutFailReason 
)
pure virtual

Sets the project's EpicSampleNameHash (based on its filename) and category, then saves the file to disk. This marks the project as a sample and fixes its filename so that it isn't mistaken for a sample if a copy of the file is made.

Parameters
FilePathThe filepath where the sample project is stored.
CategoryCategory to place the sample in
OutFailReasonWhen returning false, this provides a display reason why the file could not be created.
Returns
true if the file was successfully updated and saved to disk

Implemented in FProjectManager.

◆ SubstituteModule()

virtual bool IProjectManager::SubstituteModule ( const FString &  OriginalModuleName,
const FString &  NewModuleName 
)
pure virtual

Replaces a referenced module with a new name

Parameters
OriginalModuleNameName of module to replace
NewModuleNameName of replacement module

Implemented in FProjectManager.

◆ UpdateAdditionalPluginDirectory()

virtual bool IProjectManager::UpdateAdditionalPluginDirectory ( const FString &  Dir,
const bool  bAddOrRemove 
)
pure virtual

Updates a directory to be scanned for plugins (added or removed)

Parameters
Dirthe directory to scan
bAddOrRemovewhether to add or remove the directory
Returns
Whether the plugin directory list was changed.

Implemented in FProjectManager.

◆ UpdateSupportedTargetPlatformsForCurrentProject()

virtual void IProjectManager::UpdateSupportedTargetPlatformsForCurrentProject ( const FName InPlatformName,
const bool  bIsSupported 
)
pure virtual

Update the list of supported target platforms for the current project based upon the parameters provided

Parameters
InPlatformNameName of the platform to target (eg, WindowsClient)
bIsSupportedtrue if the platform should be supported by this project, false if it should not

Implemented in FProjectManager.

◆ UpdateSupportedTargetPlatformsForProject()

virtual void IProjectManager::UpdateSupportedTargetPlatformsForProject ( const FString &  FilePath,
const FName InPlatformName,
const bool  bIsSupported 
)
pure virtual

Update the list of supported target platforms for the target project based upon the parameters provided

Parameters
FilePathThe filepath where the project is stored.
InPlatformNameName of the platform to target (eg, WindowsClient)
bIsSupportedtrue if the platform should be supported by this project, false if it should not

Implemented in FProjectManager.


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