UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FProjectManager Class Referencefinal

#include <ProjectManager.h>

+ Inheritance diagram for FProjectManager:

Public Member Functions

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

Additional Inherited Members

- Static Public Member Functions inherited from IProjectManager
static PROJECTS_API IProjectManagerGet ()
 

Detailed Description

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

Constructor & Destructor Documentation

◆ FProjectManager()

FProjectManager::FProjectManager ( )

Member Function Documentation

◆ AddSuppressProjectFileWrite()

void FProjectManager::AddSuppressProjectFileWrite ( const FName  InName)
overridevirtual

Suppress project file writes.

Implements IProjectManager.

◆ CheckModuleCompatibility()

bool FProjectManager::CheckModuleCompatibility ( TArray< FString > &  OutIncompatibleModules)
overridevirtual

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.

Implements IProjectManager.

◆ ClearSupportedTargetPlatformsForCurrentProject()

void FProjectManager::ClearSupportedTargetPlatformsForCurrentProject ( )
overridevirtual

Clear the list of supported target platforms for the current project

Implements IProjectManager.

◆ ClearSupportedTargetPlatformsForProject()

void FProjectManager::ClearSupportedTargetPlatformsForProject ( const FString &  FilePath)
overridevirtual

Clear the list of supported target platforms for the target project

Implements IProjectManager.

◆ GetAdditionalPluginDirectories()

const TArray< FString > & FProjectManager::GetAdditionalPluginDirectories ( ) const
overridevirtual

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

Implements IProjectManager.

◆ GetAutoLoadProjectFileName()

const FString & FProjectManager::GetAutoLoadProjectFileName ( )
overridevirtual

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.

Implements IProjectManager.

◆ GetCurrentProject()

const FProjectDescriptor * FProjectManager::GetCurrentProject ( ) const
overridevirtual

IProjectManager interface

Implements IProjectManager.

◆ GetCurrentProjectModuleContextInfos()

TArray< FModuleContextInfo > & FProjectManager::GetCurrentProjectModuleContextInfos ( )
overridevirtual

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

Implements IProjectManager.

◆ HasDefaultPluginSettings()

bool FProjectManager::HasDefaultPluginSettings ( ) const
overridevirtual

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.

Implements IProjectManager.

◆ IsCurrentProjectDirty()

bool FProjectManager::IsCurrentProjectDirty ( ) const
overridevirtual

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

Implements IProjectManager.

◆ IsEnterpriseProject()

bool FProjectManager::IsEnterpriseProject ( )
overridevirtual

Gets the enterprise flag value on the current project

Returns
True if the project is an Enterprise project

Implements IProjectManager.

◆ IsSuppressingProjectFileWrite()

bool FProjectManager::IsSuppressingProjectFileWrite ( ) const
overridevirtual

Returns true if project file write should be suppressed.

Implements IProjectManager.

◆ LoadModulesForProject()

bool FProjectManager::LoadModulesForProject ( const ELoadingPhase::Type  LoadingPhase)
overridevirtual

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.

Implements IProjectManager.

◆ LoadProjectFile()

bool FProjectManager::LoadProjectFile ( const FString &  ProjectFile)
overridevirtual

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

Implements IProjectManager.

◆ OnLoadingPhaseComplete()

virtual FLoadingModulesForPhaseEvent & FProjectManager::OnLoadingPhaseComplete ( )
inlineoverridevirtual

Implements IProjectManager.

◆ OnTargetPlatformsForCurrentProjectChanged()

virtual FOnTargetPlatformsForCurrentProjectChangedEvent & FProjectManager::OnTargetPlatformsForCurrentProjectChanged ( )
inlineoverridevirtual

Implements IProjectManager.

◆ QueryStatusForCurrentProject()

bool FProjectManager::QueryStatusForCurrentProject ( FProjectStatus OutProjectStatus) const
overridevirtual

Gets status about the current project

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

Implements IProjectManager.

◆ QueryStatusForProject()

bool FProjectManager::QueryStatusForProject ( const FString &  FilePath,
FProjectStatus OutProjectStatus 
) const
overridevirtual

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

Implements IProjectManager.

◆ RemovePluginReference()

bool FProjectManager::RemovePluginReference ( const FString &  PluginName,
FText OutFailReason 
)
overridevirtual

Implements IProjectManager.

◆ RemoveSuppressProjectFileWrite()

void FProjectManager::RemoveSuppressProjectFileWrite ( const FName  InName)
overridevirtual

Removes suppression of project file writes.

Implements IProjectManager.

◆ SaveCurrentProjectToDisk()

bool FProjectManager::SaveCurrentProjectToDisk ( FText OutFailReason)
overridevirtual

Saves the current project to the project path

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

Implements IProjectManager.

◆ SetIsEnterpriseProject()

void FProjectManager::SetIsEnterpriseProject ( bool  bValue)
overridevirtual

Sets the enterprise flag value on the current project

Parameters
bValueThe value to set the enterprise flag to

Implements IProjectManager.

◆ SetPluginEnabled()

bool FProjectManager::SetPluginEnabled ( const FString &  PluginName,
bool  bEnabled,
FText OutFailReason 
)
overridevirtual

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.

Implements IProjectManager.

◆ SignSampleProject()

bool FProjectManager::SignSampleProject ( const FString &  FilePath,
const FString &  Category,
FText OutFailReason 
)
overridevirtual

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

Implements IProjectManager.

◆ SubstituteModule()

bool FProjectManager::SubstituteModule ( const FString &  OriginalModuleName,
const FString &  NewModuleName 
)
overridevirtual

Replaces a referenced module with a new name

Parameters
OriginalModuleNameName of module to replace
NewModuleNameName of replacement module

Implements IProjectManager.

◆ UpdateAdditionalPluginDirectory()

bool FProjectManager::UpdateAdditionalPluginDirectory ( const FString &  Dir,
const bool  bAddOrRemove 
)
overridevirtual

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.

Implements IProjectManager.

◆ UpdateSupportedTargetPlatformsForCurrentProject()

void FProjectManager::UpdateSupportedTargetPlatformsForCurrentProject ( const FName InPlatformName,
const bool  bIsSupported 
)
overridevirtual

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

Implements IProjectManager.

◆ UpdateSupportedTargetPlatformsForProject()

void FProjectManager::UpdateSupportedTargetPlatformsForProject ( const FString &  FilePath,
const FName InPlatformName,
const bool  bIsSupported 
)
overridevirtual

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

Implements IProjectManager.


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