SubsystemAuthoring¶
9 tools. Back to the index.
activate_external_subsystem¶
Destructive.
Externally activate a Blueprint-authored USubsystem via FSubsystemCollectionBase::ActivateExternalSubsystem. Refuses to toggle native / abstract / base classes.
| Parameter | Type | Required | Description |
|---|---|---|---|
class_name |
string | yes | Short class name or /Script/ path of a Blueprint-derived USubsystem |
Returns: { class_name: string, activated: bool }
create_subsystem_class_bp¶
Additive, idempotent.
Create a new USubsystem-derivative Blueprint asset (idempotent on re-run).
| Parameter | Type | Required | Description |
|---|---|---|---|
asset_name |
string | yes | Name for the new Blueprint asset |
parent_class |
string | yes | Parent USubsystem class name |
package_path |
string | no | Optional content folder; defaults to /Game/MCP |
Returns: { asset_name: string, asset_path: string, package_path: string, parent_class: string, lifetime: string, already_exists: bool }
deactivate_external_subsystem¶
Destructive.
Externally deactivate a Blueprint-authored USubsystem via FSubsystemCollectionBase::DeactivateExternalSubsystem. Refuses to toggle native / abstract / base classes.
| Parameter | Type | Required | Description |
|---|---|---|---|
class_name |
string | yes | Short class name or /Script/ path of a Blueprint-derived USubsystem |
Returns: { class_name: string, deactivated: bool }
get_subsystem_class_info¶
Read-only.
Read class metadata and the full USubsystem inheritance chain for a subsystem class.
| Parameter | Type | Required | Description |
|---|---|---|---|
class_name |
string | yes | Short class name (e.g. "MyGameInstanceSubsystem") or /Script/ path |
Returns: { class_name: string, class_path: string, lifetime: string, parent_class: string, is_native: bool, is_abstract: bool, parent_chain: [{ class_name, class_path, lifetime }] }
get_subsystem_instance¶
Read-only.
Look up the live instance of a USubsystem by class + lifetime category (Engine/Editor/GameInstance/World/LocalPlayer).
| Parameter | Type | Required | Description |
|---|---|---|---|
class_name |
string | yes | Short class name or /Script/ path |
lifetime |
string | yes | One of "Engine"|"Editor"|"GameInstance"|"World"|"LocalPlayer" |
Returns: { class_name: string, lifetime: string, instance_name: string, instance_path: string }
is_subsystem_class_active¶
Read-only.
Probe whether ONE named USubsystem class currently has a live instance -- the yes/no question, where list_subsystem_instances is the enumeration. It checks every lifetime category (Engine / Editor / GameInstance / World / LocalPlayer) and answers active=true if an instance exists in ANY of them, reporting which collection each one came from.
| Parameter | Type | Required | Description |
|---|---|---|---|
class_name |
string | yes | Short class name or /Script/ path |
Returns: { class_name, lifetime, active, instances:[{ collection, instance_path }] }
list_subsystem_classes¶
Read-only.
Enumerate all loaded USubsystem-derived classes (native + Blueprint), optionally filtered by lifetime category.
| Parameter | Type | Required | Description |
|---|---|---|---|
lifetime |
string | no | Optional lifetime filter: "Engine"|"Editor"|"GameInstance"|"World"|"LocalPlayer" (case-insensitive) |
Returns: { total: int, native: int, blueprint: int, lifetime_filter?: string, classes: [{ class_name, class_path, lifetime, parent_class, is_native }] }
list_subsystem_instances¶
Read-only.
Enumerate the USubsystem instances live in the EDITOR right now, with each one's class path and lifetime -- use is_subsystem_class_active for a yes/no on a single class. It walks the editor world context only (Engine / Editor / GameInstance / World) and does NOT iterate LocalPlayer subsystems, since a headless editor world has no PIE LocalPlayer; use list_local_player_subsystems for those.
| Parameter | Type | Required | Description |
|---|---|---|---|
lifetime |
string | no | Optional filter: "Engine"|"Editor"|"GameInstance"|"World" (case-insensitive) |
Returns: { total: int, lifetime_filter?, instances:[{ class_name, class_path, lifetime, instance_name, instance_path }] }
remove_subsystem_class_bp¶
Destructive, idempotent.
Destroy the Blueprint-authored USubsystem subclass at a package path (mirror of create_subsystem_class_bp). Typed-delete on TWO checks: the asset must be a UBlueprint AND its generated class must derive from USubsystem, so it cannot wipe an unrelated Blueprint the way the generic delete_asset can. Idempotent on missing assets.
| Parameter | Type | Required | Description |
|---|---|---|---|
asset_path |
string | yes | Full /Game/.../Name asset path of the subsystem Blueprint. |
Returns: { asset_path, deleted, already_existed, asset_class, generated_class_name?, note? }