UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FSubsystemCollection< TBaseType > Class Template Reference

#include <SubsystemCollection.h>

+ Inheritance diagram for FSubsystemCollection< TBaseType >:

Public Member Functions

template<typename TSubsystemClass >
TSubsystemClassGetSubsystem (const TSubclassOf< TSubsystemClass > &SubsystemClass) const
 
template<typename TSubsystemClass >
TArray< TSubsystemClass * > GetSubsystemArrayCopy (const TSubclassOf< TSubsystemClass > &SubsystemClass) const
 
void ForEachSubsystem (TFunctionRef< void(TBaseType *)> Operation, const TSubclassOf< TBaseType > &SubsystemClass={}) const
 
virtual void AddReferencedObjects (FReferenceCollector &Collector) override
 
virtual FString GetReferencerName () const override
 
 FSubsystemCollection ()
 
- Public Member Functions inherited from FSubsystemCollectionBase
ENGINE_API void Initialize (UObject *NewOuter)
 
ENGINE_API void Deinitialize ()
 
bool IsInitialized () const
 
const UClassGetBaseType () const
 
ENGINE_API USubsystemInitializeDependency (TSubclassOf< USubsystem > SubsystemClass)
 
template<typename TSubsystemClass >
TSubsystemClassInitializeDependency ()
 
ENGINE_API void AddReferencedObjects (UObject *Referencer, FReferenceCollector &Collector)
 
- Public Member Functions inherited from FGCObject
 FGCObject ()
 
 FGCObject (const FGCObject &Other)
 
 FGCObject (FGCObject &&Other)
 
 FGCObject (EFlags Flags)
 
virtual ~FGCObject ()
 
FGCObjectoperator= (const FGCObject &)
 
FGCObjectoperator= (FGCObject &&)
 
COREUOBJECT_API void RegisterGCObject ()
 
COREUOBJECT_API void UnregisterGCObject ()
 
virtual bool GetReferencerPropertyName (UObject *Object, FString &OutPropertyName) const
 

Additional Inherited Members

- Public Types inherited from FGCObject
enum class  EFlags : uint32 { None = 0 , RegisterLater = 1 << 0 , AddStableNativeReferencesOnly = 1 << 1 }
 
- Static Public Member Functions inherited from FSubsystemCollectionBase
static ENGINE_API void ActivateExternalSubsystem (UClass *SubsystemClass)
 
static ENGINE_API void DeactivateExternalSubsystem (UClass *SubsystemClass)
 
- Static Public Member Functions inherited from FGCObject
static COREUOBJECT_API void StaticInit ()
 
- Static Public Attributes inherited from FGCObject
static COREUOBJECT_API UGCObjectReferencerGGCObjectReferencer = nullptr
 
- Protected Member Functions inherited from FSubsystemCollectionBase
ENGINE_API FSubsystemCollectionBase (UClass *InBaseType)
 
ENGINE_API FSubsystemCollectionBase ()
 
virtual ENGINE_API ~FSubsystemCollectionBase ()
 
ENGINE_API USubsystemGetSubsystemInternal (UClass *SubsystemClass) const
 
ENGINE_API FSubsystemArrayFindAndPopulateSubsystemArrayInternal (UClass *SubsystemClass) const
 
ENGINE_API TArray< USubsystem * > GetSubsystemArrayCopy (UClass *SubsystemClass) const
 
ENGINE_API void ForEachSubsystem (TFunctionRef< void(USubsystem *)> Operation) const
 
ENGINE_API void ForEachSubsystemOfClass (UClass *SubsystemClass, TFunctionRef< void(USubsystem *)> Operation) const
 
ENGINE_API void RemoveSubsystemsInPackages (TConstArrayView< UPackage * > Packages)
 

Constructor & Destructor Documentation

◆ FSubsystemCollection()

Construct a FSubsystemCollection, pass in the owning object almost certainly (this).

Member Function Documentation

◆ AddReferencedObjects()

template<typename TBaseType >
virtual void FSubsystemCollection< TBaseType >::AddReferencedObjects ( FReferenceCollector Collector)
inlineoverridevirtual

Pure virtual that must be overloaded by the inheriting class. Use this method to serialize any UObjects contained that you wish to keep around.

Parameters
CollectorThe collector of referenced objects.

Implements FGCObject.

◆ ForEachSubsystem()

template<typename TBaseType >
void FSubsystemCollection< TBaseType >::ForEachSubsystem ( TFunctionRef< void(TBaseType *)>  Operation,
const TSubclassOf< TBaseType > &  SubsystemClass = {} 
) const
inline

Perform an operation on all subsystems of a given type in the collection

◆ GetReferencerName()

template<typename TBaseType >
virtual FString FSubsystemCollection< TBaseType >::GetReferencerName ( ) const
inlineoverridevirtual

Overload this method to report a name for your referencer

Implements FGCObject.

◆ GetSubsystem()

template<typename TBaseType >
TSubsystemClass * FSubsystemCollection< TBaseType >::GetSubsystem ( const TSubclassOf< TSubsystemClass > &  SubsystemClass) const
inline

Get a Subsystem by type

◆ GetSubsystemArrayCopy()

template<typename TBaseType >
TArray< TSubsystemClass * > FSubsystemCollection< TBaseType >::GetSubsystemArrayCopy ( const TSubclassOf< TSubsystemClass > &  SubsystemClass) const
inline

Get a list of Subsystems by type


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