UGameFeaturesSubsystem

The manager subsystem for game features

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

GameFeatures

Header

/Engine/Plugins/Experimental/GameFeatures/Source/GameFeatures/Public/GameFeaturesSubsystem.h

Include

#include "GameFeaturesSubsystem.h"

Syntax

UCLASS()
class UGameFeaturesSubsystem : public UEngineSubsystem

Remarks

The manager subsystem for game features

Functions

Name Description

Public function

void

 

AddObserver

(
    UObject* Observer
)

Public function

void

 

ChangeGameFeatureTargetState

(
    const FString& PluginURL,
    EGameFeatureTargetState TargetState,
    const FGameFeaturePluginChangeState...
)

Changes the target state of a game feature plugin

Public function Static

EGameFeature...

 

ConvertInitialFeatureStateToTargetState

(
    EBuiltInAutoState InitialState
)

Public function

void

 

DeactivateGameFeaturePlugin

(
    const FString& PluginURL,
    const FGameFeaturePluginDeactivateC...
)

Deactivates the specified plugin

Public function

void

 

DeactivateGameFeaturePlugin

(
    const FString& PluginURL
)

Deactivates the specified plugin

Public function Static

EBuiltInAuto...

 

DetermineBuiltInInitialFeatureState

(
    TSharedPtr< FJsonObject > Descripto...,
    const FString& ErrorContext
)

Determine the initial feature state for a built-in plugin

Public function Const

void

 

FilterInactivePluginAssets

(
    TArray< FAssetIdentifier >& Assets...
)

Removes assets that are in plugins we know to be inactive. Order is not maintained.

Public function Const

void

 

FilterInactivePluginAssets

(
    TArray< FAssetData >& AssetsToFilt...
)

Removes assets that are in plugins we know to be inactive. Order is not maintained.

Public function Static

void

 

FixPluginPackagePath

(
    FString& PathToFix,
    const FString& PluginRootPath,
    bool bMakeRelativeToPluginRoot
)

Fixes a package path/directory to either be relative to plugin root or not.

Public function Const

void

 

ForEachActiveGameFeature

(
    Func InFunc
)

Calls the compile-time lambda on each active game feature data of the specified type

Public function Const

void

 

ForEachRegisteredGameFeature

(
    Func InFunc
)

Calls the compile-time lambda on each registered game feature data of the specified type

Public function Static

UGameFeature...

 

Get()

Public function

const UGameF...

 

GetGameFeatureDataForActivePluginByURL

(
    const FString& PluginURL
)

Returns the game feature data for an active plugin specified by PluginURL

Public function

void

 

GetGameFeatureDataForActivePlugins

(
    TArray< const UGameFeatureData*...
)

Returns all the active plugins GameFeatureDatas

Public function

const UGameF...

 

GetGameFeatureDataForRegisteredPluginByURL

(
    const FString& PluginURL
)

Returns the game feature data for a registered plugin specified by PluginURL

Public function Const

bool

 

GetGameFeaturePluginInstallPercent

(
    const FString& PluginURL,
    float& Install_Percent
)

Gets the Install_Percent for single game feature plugin if it is active.

Public function Const

void

 

GetLoadedGameFeaturePluginFilenamesForCooking

(
    TArray< FString >& OutLoadedPlugin...
)

Returns the list of plugin filenames that have progressed beyond installed.

Public function

FString

 

GetPluginFilenameFromPluginName

(
    const FString& PluginName
)

Get the plugin path from the plugin name

Public function Const

FString

 

GetPluginFilenameFromPluginURL

(
    const FString& PluginURL
)

Get the plugin path from the plugin URL

Public function

EGameFeature...

 

GetPluginState

(
    const FString& PluginURL
)

Returns the current state of the state machine for the specified plugin URL

Public function Static

FString

 

GetPluginURL_FileProtocol

(
    const FString& PluginDescriptorPat...
)

Construct a 'file:' Plugin URL using from the PluginDescriptorPath

Public function Static

FString

 

GetPluginURL_InstallBundleProtocol

(
    const FString& PluginName,
    FName BundleName
)

Construct a 'installbundle:' Plugin URL using from the PluginName and required install bundles

Public function Static

FString

 

GetPluginURL_InstallBundleProtocol

(
    const FString& PluginName,
    TArrayView< const FName > BundleNam...
)

Construct a 'installbundle:' Plugin URL using from the PluginName and required install bundles

Public function Static

FString

 

GetPluginURL_InstallBundleProtocol

(
    const FString& PluginName,
    const FString& BundleName
)

Construct a 'installbundle:' Plugin URL using from the PluginName and required install bundles

Public function Static

FString

 

GetPluginURL_InstallBundleProtocol

(
    const FString& PluginName,
    TArrayView< const FString > BundleN...
)

Construct a 'installbundle:' Plugin URL using from the PluginName and required install bundles

Public function Const

bool

 

GetPluginURLForBuiltInPluginByName

(
    const FString& PluginName,
    FString& OutPluginURL
)

If the specified plugin is a built-in plugin, return the URL used to identify it.

Public function Const

T &

 

GetPolicy()

Returns the game-specific policy for managing game feature plugins

Public function Const

bool

 

IsGameFeaturePluginActive

(
    const FString& PluginURL,
    bool bCheckForActivating
)

Determines if a plugin is in the Active state.

Public function

void

 

LoadAndActivateGameFeaturePlugin

(
    const FString& PluginURL,
    const FGameFeaturePluginLoadComplet...
)

Loads a single game feature plugin and activates it.

Public function

void

 

LoadBuiltInGameFeaturePlugin

(
    const TSharedRef< IPlugin >& Plugi...,
    FBuiltInPluginAdditionalFilters Add...
)

Loads a built-in game feature plugin if it passes the specified filter

Public function

void

 

LoadBuiltInGameFeaturePlugins

Loads all built-in game feature plugins that pass the specified filters

Public function Static

TSharedPtr< ...

 

LoadGameFeatureData

(
    const FString& GameFeatureToLoad
)

Loads the specified game feature data and its bundles

Public function

void

 

LoadGameFeaturePlugin

(
    const FString& PluginURL,
    const FGameFeaturePluginLoadComplet...
)

Loads a single game feature plugin.

Public function

void

 

RemoveObserver

(
    UObject* Observer
)

Public function

void

 

TerminateGameFeaturePlugin

(
    const FString& PluginURL
)

Same as UninstallGameFeaturePlugin, but completely removes all tracking data associated with the plugin.

Public function

void

 

TerminateGameFeaturePlugin

(
    const FString& PluginURL,
    const FGameFeaturePluginUninstallCo...
)

Same as UninstallGameFeaturePlugin, but completely removes all tracking data associated with the plugin.

Public function

void

 

UninstallGameFeaturePlugin

(
    const FString& PluginURL
)

Uninstall the specified game feature plugin.

Public function

void

 

UninstallGameFeaturePlugin

(
    const FString& PluginURL,
    const FGameFeaturePluginUninstallCo...
)

Uninstall the specified game feature plugin.

Public function Static

void

 

UnloadGameFeatureData

(
    const UGameFeatureData* GameFe...
)

Public function

void

 

UnloadGameFeaturePlugin

(
    const FString& PluginURL,
    bool bKeepRegistered
)

Unloads the specified game feature plugin.

Public function

void

 

UnloadGameFeaturePlugin

(
    const FString& PluginURL,
    const FGameFeaturePluginUnloadCompl...,
    bool bKeepRegistered
)

Unloads the specified game feature plugin.

Overridden from USubsystem

Name Description

Public function Virtual

void

 

Deinitialize()

Implement this for deinitialization of instances of the system

Public function Virtual

void

 

Initialize

(
    FSubsystemCollectionBase& Collecti...
)

Implement this for initialization of instances of the system

Typedefs