UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FPluginReferenceDescriptor Struct Reference

#include <PluginReferenceDescriptor.h>

Public Member Functions

PROJECTS_API FPluginReferenceDescriptor (FString InName=TEXT(""), bool bInEnabled=false)
 
PROJECTS_API bool IsEnabledForPlatform (const FString &Platform) const
 
PROJECTS_API bool IsEnabledForTargetConfiguration (EBuildConfiguration Configuration) const
 
PROJECTS_API bool IsEnabledForTarget (EBuildTargetType TargetType) const
 
PROJECTS_API bool IsSupportedTargetPlatform (const FString &Platform) const
 
PROJECTS_API bool Read (const TSharedRef< FJsonObject > &Object, FText *OutFailReason=nullptr)
 
PROJECTS_API bool Read (const FJsonObject &Object, FText *OutFailReason=nullptr, TSharedPtr< FJsonObject > ObjectPtr=nullptr)
 
PROJECTS_API bool Read (const FJsonObject &Object, FText &OutFailReason, TSharedPtr< FJsonObject > ObjectPtr=nullptr)
 
PROJECTS_API void Write (TJsonWriter<> &Writer) const
 
PROJECTS_API void UpdateJson (FJsonObject &JsonObject) const
 

Static Public Member Functions

static PROJECTS_API bool ReadArray (const FJsonObject &Object, const TCHAR *Name, TArray< FPluginReferenceDescriptor > &OutModules, FText *OutFailReason=nullptr)
 
static PROJECTS_API bool ReadArray (const FJsonObject &Object, const TCHAR *Name, TArray< FPluginReferenceDescriptor > &OutModules, FText &OutFailReason)
 
static PROJECTS_API void WriteArray (TJsonWriter<> &Writer, const TCHAR *ArrayName, const TArray< FPluginReferenceDescriptor > &Plugins)
 
static PROJECTS_API void UpdateArray (FJsonObject &JsonObject, const TCHAR *ArrayName, const TArray< FPluginReferenceDescriptor > &Plugins)
 

Public Attributes

FString Name
 
bool bEnabled
 
bool bOptional
 
bool bActivate
 
FString Description
 
FString MarketplaceURL
 
TArray< FString > PlatformAllowList
 
TArray< FString > PlatformDenyList
 
TArray< EBuildConfigurationTargetConfigurationAllowList
 
TArray< EBuildConfigurationTargetConfigurationDenyList
 
TArray< EBuildTargetTypeTargetAllowList
 
TArray< EBuildTargetTypeTargetDenyList
 
TArray< FString > SupportedTargetPlatforms
 
bool bHasExplicitPlatforms
 
TOptional< int32RequestedVersion
 

Detailed Description

Descriptor for a plugin reference. Contains the information required to enable or disable a plugin for a given platform.

Constructor & Destructor Documentation

◆ FPluginReferenceDescriptor()

FPluginReferenceDescriptor::FPluginReferenceDescriptor ( FString  InName = TEXT(""),
bool  bInEnabled = false 
)

Constructor

Member Function Documentation

◆ IsEnabledForPlatform()

bool FPluginReferenceDescriptor::IsEnabledForPlatform ( const FString &  Platform) const

Determines whether the plugin is enabled for the given platform

◆ IsEnabledForTarget()

bool FPluginReferenceDescriptor::IsEnabledForTarget ( EBuildTargetType  TargetType) const

Determines whether the plugin is enabled for the given target

◆ IsEnabledForTargetConfiguration()

bool FPluginReferenceDescriptor::IsEnabledForTargetConfiguration ( EBuildConfiguration  Configuration) const

Determines whether the plugin is enabled for the given target configuration

◆ IsSupportedTargetPlatform()

bool FPluginReferenceDescriptor::IsSupportedTargetPlatform ( const FString &  Platform) const

Determines if the referenced plugin is supported for the given platform

◆ Read() [1/3]

bool FPluginReferenceDescriptor::Read ( const FJsonObject Object,
FText OutFailReason,
TSharedPtr< FJsonObject ObjectPtr = nullptr 
)

◆ Read() [2/3]

bool FPluginReferenceDescriptor::Read ( const FJsonObject Object,
FText OutFailReason = nullptr,
TSharedPtr< FJsonObject ObjectPtr = nullptr 
)

◆ Read() [3/3]

bool FPluginReferenceDescriptor::Read ( const TSharedRef< FJsonObject > &  Object,
FText OutFailReason = nullptr 
)

Reads the descriptor from the given JSON object

◆ ReadArray() [1/2]

bool FPluginReferenceDescriptor::ReadArray ( const FJsonObject Object,
const TCHAR Name,
TArray< FPluginReferenceDescriptor > &  OutModules,
FText OutFailReason 
)
static

Reads an array of modules from the given JSON object

◆ ReadArray() [2/2]

bool FPluginReferenceDescriptor::ReadArray ( const FJsonObject Object,
const TCHAR Name,
TArray< FPluginReferenceDescriptor > &  OutModules,
FText OutFailReason = nullptr 
)
static

Reads an array of modules from the given JSON object

◆ UpdateArray()

void FPluginReferenceDescriptor::UpdateArray ( FJsonObject JsonObject,
const TCHAR ArrayName,
const TArray< FPluginReferenceDescriptor > &  Plugins 
)
static

Updates an array of plugin references in the specified JSON field (indexed by plugin name)

◆ UpdateJson()

void FPluginReferenceDescriptor::UpdateJson ( FJsonObject JsonObject) const

Updates the given json object with values in this descriptor

◆ Write()

void FPluginReferenceDescriptor::Write ( TJsonWriter<> &  Writer) const

Writes a descriptor to JSON

◆ WriteArray()

void FPluginReferenceDescriptor::WriteArray ( TJsonWriter<> &  Writer,
const TCHAR ArrayName,
const TArray< FPluginReferenceDescriptor > &  Plugins 
)
static

Writes an array of plugin references to JSON

Member Data Documentation

◆ bActivate

bool FPluginReferenceDescriptor::bActivate

Whether this plugin dependency should also activate when the parent plugin is activated by the GameFeaturePlugin system.

◆ bEnabled

bool FPluginReferenceDescriptor::bEnabled

Whether it should be enabled by default

◆ bHasExplicitPlatforms

bool FPluginReferenceDescriptor::bHasExplicitPlatforms

When true, empty SupportedTargetPlatforms and PlatformAllowList are interpreted as 'no platforms' with the expectation that explicit platforms will be added in plugin platform extensions

◆ bOptional

bool FPluginReferenceDescriptor::bOptional

Whether this plugin is optional, and the game should silently ignore it not being present

◆ Description

FString FPluginReferenceDescriptor::Description

Description of the plugin for users that do not have it installed.

◆ MarketplaceURL

FString FPluginReferenceDescriptor::MarketplaceURL

URL for this plugin on the marketplace, if the user doesn't have it installed.

◆ Name

FString FPluginReferenceDescriptor::Name

Name of the plugin

◆ PlatformAllowList

TArray<FString> FPluginReferenceDescriptor::PlatformAllowList

If enabled, list of platforms for which the plugin should be enabled (or all platforms if blank).

◆ PlatformDenyList

TArray<FString> FPluginReferenceDescriptor::PlatformDenyList

If enabled, list of platforms for which the plugin should be disabled.

◆ RequestedVersion

TOptional<int32> FPluginReferenceDescriptor::RequestedVersion

When set, specifies a specific version of the plugin that this references.

◆ SupportedTargetPlatforms

TArray<FString> FPluginReferenceDescriptor::SupportedTargetPlatforms

The list of supported target platforms for this plugin. This field is copied from the plugin descriptor, and supplements the user's allowed/denied platforms.

◆ TargetAllowList

TArray<EBuildTargetType> FPluginReferenceDescriptor::TargetAllowList

If enabled, list of targets for which the plugin should be enabled (or all targets if blank).

◆ TargetConfigurationAllowList

TArray<EBuildConfiguration> FPluginReferenceDescriptor::TargetConfigurationAllowList

If enabled, list of target configurations for which the plugin should be enabled (or all target configurations if blank).

◆ TargetConfigurationDenyList

TArray<EBuildConfiguration> FPluginReferenceDescriptor::TargetConfigurationDenyList

If enabled, list of target configurations for which the plugin should be disabled.

◆ TargetDenyList

TArray<EBuildTargetType> FPluginReferenceDescriptor::TargetDenyList

If enabled, list of targets for which the plugin should be disabled.


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