unreal.Subsystem
¶
- class unreal.Subsystem(outer: Optional[Object] = None, name: Union[Name, str] = 'None')¶
Bases:
Object
Subsystems are auto instanced classes that share the lifetime of certain engine constructs
- Currently supported Subsystem lifetimes are:
Engine -> inherit UEngineSubsystem Editor -> inherit UEditorSubsystem GameInstance -> inherit UGameInstanceSubsystem World -> inherit UWorldSubsystem LocalPlayer -> inherit ULocalPlayerSubsystem
- Normal Example:
class UMySystem : public UGameInstanceSubsystem
- Which can be accessed by:
UGameInstance* GameInstance = …; UMySystem* MySystem = GameInstance->GetSubsystem<UMySystem>();
- or the following if you need protection from a null GameInstance
UGameInstance* GameInstance = …; UMyGameSubsystem* MySubsystem = UGameInstance::GetSubsystem<MyGameSubsystem>(GameInstance);
You can get also define interfaces that can have multiple implementations. Interface Example :
MySystemInterface
- With 2 concrete derivative classes:
MyA : public MySystemInterface MyB : public MySystemInterface
- Which can be accessed by:
UGameInstance* GameInstance = …; const TArray<UMyGameSubsystem*>& MySubsystems = GameInstance->GetSubsystemArray<MyGameSubsystem>();
C++ Source:
Module: Engine
File: Subsystem.h