UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FModularFeatures Class Reference

#include <ModularFeatures.h>

+ Inheritance diagram for FModularFeatures:

Public Member Functions

virtual int32 GetModularFeatureImplementationCount (const FName Type) override
 
virtual IModularFeatureGetModularFeatureImplementation (const FName Type, const int32 Index) override
 
virtual void RegisterModularFeature (const FName Type, class IModularFeature *ModularFeature) override
 
virtual void UnregisterModularFeature (const FName Type, class IModularFeature *ModularFeature) override
 
 DECLARE_DERIVED_EVENT (FModularFeatures, IModularFeatures::FOnModularFeatureRegistered, FOnModularFeatureRegistered)
 
virtual IModularFeatures::FOnModularFeatureRegistered & OnModularFeatureRegistered () override
 
 DECLARE_DERIVED_EVENT (FModularFeatures, IModularFeatures::FOnModularFeatureUnregistered, FOnModularFeatureUnregistered)
 
virtual IModularFeatures::FOnModularFeatureUnregistered & OnModularFeatureUnregistered () override
 
virtual void LockModularFeatureList () override
 
virtual void UnlockModularFeatureList () override
 
- Public Member Functions inherited from IModularFeatures
virtual ~IModularFeatures ()
 
bool IsModularFeatureAvailable (const FName Type)
 
template<typename TModularFeature >
TModularFeature & GetModularFeature (const FName Type)
 
template<typename TModularFeature >
TArray< TModularFeature * > GetModularFeatureImplementations (const FName Type)
 
 DECLARE_EVENT_TwoParams (IModularFeatures, FOnModularFeatureRegistered, const FName &, class IModularFeature *)
 
 DECLARE_EVENT_TwoParams (IModularFeatures, FOnModularFeatureUnregistered, const FName &, class IModularFeature *)
 

Additional Inherited Members

- Static Public Member Functions inherited from IModularFeatures
static CORE_API IModularFeaturesGet ()
 

Detailed Description

Private implementation of modular features interface

Member Function Documentation

◆ DECLARE_DERIVED_EVENT() [1/2]

FModularFeatures::DECLARE_DERIVED_EVENT ( FModularFeatures  ,
IModularFeatures::FOnModularFeatureRegistered  ,
FOnModularFeatureRegistered   
)

◆ DECLARE_DERIVED_EVENT() [2/2]

FModularFeatures::DECLARE_DERIVED_EVENT ( FModularFeatures  ,
IModularFeatures::FOnModularFeatureUnregistered  ,
FOnModularFeatureUnregistered   
)

◆ GetModularFeatureImplementation()

IModularFeature * FModularFeatures::GetModularFeatureImplementation ( const FName  Type,
const int32  Index 
)
overridevirtual

Queries for a specific modular feature. Returns NULL if the feature is not available. Does not assert. Usually you should just call GetModularFeature instead, after calling IsModularFeatureAvailable().

Parameters
TypeThe type of feature we're looking for
IndexThe index of the implementation (there may be multiple implementations of the same feature registered.)
Returns
Pointer to the feature interface, or NULL if it's not available right now.

Implements IModularFeatures.

◆ GetModularFeatureImplementationCount()

int32 FModularFeatures::GetModularFeatureImplementationCount ( const FName  Type)
overridevirtual

IModularFeatures interface

Implements IModularFeatures.

◆ LockModularFeatureList()

void FModularFeatures::LockModularFeatureList ( )
overridevirtual

Lock modular features for access from another thread

Implements IModularFeatures.

◆ OnModularFeatureRegistered()

IModularFeatures::FOnModularFeatureRegistered & FModularFeatures::OnModularFeatureRegistered ( )
overridevirtual

Implements IModularFeatures.

◆ OnModularFeatureUnregistered()

IModularFeatures::FOnModularFeatureUnregistered & FModularFeatures::OnModularFeatureUnregistered ( )
overridevirtual

Implements IModularFeatures.

◆ RegisterModularFeature()

void FModularFeatures::RegisterModularFeature ( const FName  Type,
class IModularFeature ModularFeature 
)
overridevirtual

Registers a feature. Usually called by plugins to augment or replace existing modular features.

Parameters
TypeThe type of feature we're registering
ModularFeatureInterface to the modular feature object. We do not assume ownership of this object. It's up to you to keep it allocated until it is unregistered later on.

Implements IModularFeatures.

◆ UnlockModularFeatureList()

void FModularFeatures::UnlockModularFeatureList ( )
overridevirtual

Unlock modular features when finished accessing from another thread

Implements IModularFeatures.

◆ UnregisterModularFeature()

void FModularFeatures::UnregisterModularFeature ( const FName  Type,
class IModularFeature ModularFeature 
)
overridevirtual

Unregisters a feature that was registered earlier on. After unregistering a feature, other systems will no longer be able to gain access to it through this interface.

Parameters
TypeThe type of feature we're unregistering
ModularFeatureInterface to the modular feature object

Implements IModularFeatures.


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