Intro #
- Subsystem is handy and useful instance with various lifecycle.
- Every Subsystems declared as class will be instanced and called
Inintialize()
andDeinitialize()
in proper time. - Thanks to Subsystems, GameInstance don’t have to be over-responsible. (and other massive advantages)
Subsystem variety #
UEngineSubsystem
- Lifetime :
StartUp()
~ShutDown()
- Reference :
GEngine->GetEngineSubsystem<T>();
- Lifetime :
UEditorSubsystem
- Lifetime :
StartUp()
~ShutDown()
- Reference :
GEditor->GetEditorSubsystem<T>();
- Lifetime :
UGameInstanceSubsystem
- Lifetime : Same with GameInstance
- Reference :
[GameInstance]->GetSubsystem<T>();
ULocalPlayerSubsystem
- Lifetime : Same with LocalPlayer
- Reference :
[LocalPlayer]->GetSubsystem<T>();