GameFeatures¶
5 tools. Back to the index.
activate_game_feature_plugin¶
Destructive, idempotent.
Load and activate a Game Feature Plugin by name or URL. ASYNC + honest-headless: the state transition runs on the subsystem's own ticker, so this fires the activation (logging the eventual result) and returns immediately with the current state -- poll get_game_feature_plugin_state until state == "Active". Idempotent: if already active, no-ops with already_active=true.
| Parameter | Type | Required | Description |
|---|---|---|---|
plugin_name |
string | no | Name of the Game Feature Plugin (resolved to a URL via the subsystem registry). Provide this OR plugin_url. |
plugin_url |
string | no | The plugin URL directly (e.g. a file: protocol URL). Takes precedence over plugin_name. |
Returns: { url: string, already_active: bool, state: string, is_active: bool, is_loaded: bool, is_registered: bool, note: string }
deactivate_game_feature_plugin¶
Destructive, idempotent.
Deactivate an active Game Feature Plugin by name or URL. ASYNC + honest-headless (same fire-and-return pattern as activate): returns immediately with the current state; poll get_game_feature_plugin_state. Idempotent: if not active, no-ops with already_inactive=true.
| Parameter | Type | Required | Description |
|---|---|---|---|
plugin_name |
string | no | Name of the Game Feature Plugin (resolved to a URL). Provide this OR plugin_url. |
plugin_url |
string | no | The plugin URL directly. Takes precedence over plugin_name. |
Returns: { url: string, already_inactive: bool, state: string, is_active: bool, is_loaded: bool, is_registered: bool, note: string }
get_game_feature_plugin_state¶
Read-only.
Read the current lifecycle state of a Game Feature Plugin by name or URL (synchronous). The engine's EGameFeaturePluginState enum is non-reflective, so this is the canonical way to observe/poll a plugin's state after an async activate/deactivate.
| Parameter | Type | Required | Description |
|---|---|---|---|
plugin_name |
string | no | Name of the Game Feature Plugin (resolved to a URL). Provide this OR plugin_url. |
plugin_url |
string | no | The plugin URL directly. Takes precedence over plugin_name. An unknown URL reports state "UnknownStatus". |
Returns: { url: string, state: string, is_active: bool, is_loaded: bool, is_registered: bool, is_installed: bool, is_in_error_state: bool }
list_game_feature_plugins¶
Read-only.
Enumerate every Game Feature Plugin the subsystem knows about (built-in + registered), with each one's current state. Read-only, synchronous.
No parameters.
Returns: { plugins: [{ name: string, url: string, loaded_as_built_in: bool, state: string }], count: int }
unload_game_feature_plugin¶
Destructive, idempotent.
Unload a Game Feature Plugin by name or URL (complement of activate/deactivate). ASYNC + honest-headless (same fire-and-return pattern): returns immediately with the current state; poll get_game_feature_plugin_state. Idempotent: if not loaded, no-ops with already_unloaded=true. Note: an active plugin is still loaded, so this unloads it regardless of active state.
| Parameter | Type | Required | Description |
|---|---|---|---|
plugin_name |
string | no | Name of the Game Feature Plugin (resolved to a URL). Provide this OR plugin_url. |
plugin_url |
string | no | The plugin URL directly. Takes precedence over plugin_name. |
keep_registered |
boolean | no | If true, the plugin stays registered after unloading (unwinds to the Registered state instead of fully unregistering). Optional, default false. |
Returns: { url: string, already_unloaded: bool, keep_registered: bool, state: string, is_active: bool, is_loaded: bool, is_registered: bool, note: string }