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

#include <SubsystemCollection.h>

+ Inheritance diagram for FObjectSubsystemCollection< 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
 
template<typename TSubsystemInterface >
void ForEachSubsystemWithInterface (TFunctionRef< void(TBaseType *)> Operation) const
 
 FObjectSubsystemCollection ()
 
- 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)
 

Additional Inherited Members

- Static Public Member Functions inherited from FSubsystemCollectionBase
static ENGINE_API void ActivateExternalSubsystem (UClass *SubsystemClass)
 
static ENGINE_API void DeactivateExternalSubsystem (UClass *SubsystemClass)
 
- 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)
 

Detailed Description

template<typename TBaseType>
class FObjectSubsystemCollection< TBaseType >

Subsystem collection which delegates UObject references to its owning UObject (object needs to implement AddReferencedObjects and forward call to Collection

Constructor & Destructor Documentation

◆ FObjectSubsystemCollection()

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

Member Function Documentation

◆ ForEachSubsystem()

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

Perform an operation on all subsystems in the collection

◆ ForEachSubsystemWithInterface()

template<typename TBaseType >
void FObjectSubsystemCollection< TBaseType >::ForEachSubsystemWithInterface ( TFunctionRef< void(TBaseType *)>  Operation) const
inline

◆ GetSubsystem()

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

Get a Subsystem by type

◆ GetSubsystemArrayCopy()

template<typename TBaseType >
TArray< TSubsystemClass * > FObjectSubsystemCollection< 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: