← All namespaces

game_features

AI & gameplay Experimental

Read the lifecycle state of every registered Game Feature plugin: installed, registered, loaded, or active.

What it’s for

Game Feature plugins gate whole slices of gameplay behind a plugin the engine registers, loads, and activates at runtime. This namespace is the read-only window into that system: game_features.list reports every Game Feature plugin the subsystem knows about, each with its plugin URL, whether it was loaded as a built-in, and the lifecycle state it currently sits in — Installed, Registered, Loaded, Active, plus the transition and error states in between.

Reach for it when a feature is not running and the first question is whether the problem is the content or the plugin carrying it. It authors nothing: to change the rules of a match — GameMode, default pawn, teams, scoring — use game_framework, and for the assets a feature ships use the ordinary asset namespaces. On a host that enables no Game Feature plugins the list comes back empty, which is a real answer rather than an error.

This area is experimental and still improving. Only the read-only listing is exposed today — activating or deactivating a feature from here is not available yet, and the call reports GAME_FEATURES_NOT_AVAILABLE on an editor built without the engine’s Game Features plugin.

Examples

See which features are active

One read-only call lists every registered Game Feature plugin and the state it is in.

You: Which game feature plugins are running right now?

  call("game_features.list", {})
    → {plugins:[{name:"ShooterCore", url:"file:…/ShooterCore.uplugin",
                 state:"Active", loadedAsBuiltIn:true},
                {name:"ShooterMaps", url:"file:…/ShooterMaps.uplugin",
                 state:"Registered", loadedAsBuiltIn:true}], count:2}

Done. ShooterCore is Active; ShooterMaps is only Registered.

Explain why a feature’s content never appears

Check the plugin’s lifecycle state before hunting through the assets it ships.

You: None of the ShooterMaps content shows up in game. Is that plugin even on?

  call("game_features.list", {})
    → {plugins:[{name:"ShooterMaps", url:"file:…/ShooterMaps.uplugin",
                 state:"Registered", loadedAsBuiltIn:true}], count:1}

Done. ShooterMaps stopped at Registered and never reached Active, so none of its actions ran.

← Back to all namespaces