Specialized
Specialized verbs: Niagara parameters, Enhanced Input, config management, gameplay tags, texture export.
Specialized verbs for Niagara VFX parameters, Enhanced Input asset creation, engine/project config INI access, gameplay tag registry management, and texture export. Niagara and Enhanced Input verbs are conditionally compiled and require their respective plugins in the engine.
Niagara verbs (2)#
Requires the Niagara plugin (BAA_WITH_NIAGARA). These verbs will not appear
in the verb list if Niagara is not present.
niagara-list-params#
List user parameters on a NiagaraSystem or NiagaraEmitter.
Category: Read (Niagara)
Args:
| Arg | Required | Description |
|---|---|---|
-asset= |
Yes | Niagara asset path (NiagaraSystem or NiagaraEmitter) |
Examples:
-verb=niagara-list-params -asset=/Game/FX/NS_MuzzleFlash
Output:
{
"success": true,
"assetType": "NiagaraSystem",
"parameters": [
{ "name": "User.Color", "type": "LinearColor" },
{ "name": "User.SpawnRate", "type": "Float" },
{ "name": "User.LifetimeMultiplier", "type": "Float" }
]
}
niagara-set-param#
Set a user parameter value on a NiagaraSystem or NiagaraEmitter.
Category: Write (Niagara)
Args:
| Arg | Required | Description |
|---|---|---|
-asset= |
Yes | Niagara asset path |
-name= |
Yes | Parameter name (e.g., User.SpawnRate) |
-value= |
Yes | Value as string (parsed based on parameter type) |
-type= |
No | Override the auto-detected type (e.g., Float, LinearColor, Vector) |
Examples:
# Set a float parameter
-verb=niagara-set-param -asset=/Game/FX/NS_MuzzleFlash -name=User.SpawnRate -value=500.0 -save
# Set a color parameter
-verb=niagara-set-param -asset=/Game/FX/NS_MuzzleFlash -name=User.Color -value="(R=1.0,G=0.5,B=0.0,A=1.0)" -save
# Override auto-detected type
-verb=niagara-set-param -asset=/Game/FX/NS_Trail -name=User.Width -value=10.0 -type=Float -save
Batch example: configure a Niagara system's parameters in one commandlet run:
{
"defaultAsset": "/Game/FX/NS_MuzzleFlash",
"operations": [
{ "verb": "niagara-set-param", "args": { "name": "User.SpawnRate", "value": "500.0" } },
{ "verb": "niagara-set-param", "args": { "name": "User.LifetimeMultiplier", "value": "1.5" } },
{ "verb": "niagara-set-param", "args": { "name": "User.Color", "value": "(R=1.0,G=0.8,B=0.2,A=1.0)" } }
],
"save": true
}
Enhanced Input verbs (3)#
Requires the EnhancedInput plugin (BAA_WITH_ENHANCED_INPUT).
These verbs create Enhanced Input assets and bind keys within them.
create-input-action#
Create an InputAction asset. Idempotent: if the asset already exists at the specified path, the verb succeeds without overwriting it.
Category: Write (Enhanced Input)
Args:
| Arg | Required | Description |
|---|---|---|
-asset= |
Yes | Content path for the new InputAction (e.g., /Game/Input/IA_Jump) |
-valuetype= |
No | Value type: Bool (default), Float1D/Axis1D/Float, Vector2D/Axis2D, Vector3D/Axis3D |
Examples:
# Create a simple boolean action (press/release)
-verb=create-input-action -asset=/Game/Input/IA_Jump
# Create a 1D axis action for throttle/brake
-verb=create-input-action -asset=/Game/Input/IA_MoveForward -valuetype=Float1D
# Create a 2D axis action for mouse look
-verb=create-input-action -asset=/Game/Input/IA_Look -valuetype=Vector2D
create-input-mapping#
Create an InputMappingContext asset. Idempotent: if the asset already exists, the verb succeeds without overwriting it.
Category: Write (Enhanced Input)
Args:
| Arg | Required | Description |
|---|---|---|
-asset= |
Yes | Content path for the new IMC (e.g., /Game/Input/IMC_Default) |
Examples:
-verb=create-input-mapping -asset=/Game/Input/IMC_Default
-verb=create-input-mapping -asset=/Game/Input/IMC_Vehicle
input-map-key#
Map a key to an InputAction within an InputMappingContext. Adds the mapping entry linking a physical key to a logical action.
Category: Write (Enhanced Input)
Args:
| Arg | Required | Description |
|---|---|---|
-asset= |
Yes | IMC asset path |
-action= |
Yes | InputAction asset path to bind |
-key= |
Yes | UE key name (e.g., SpaceBar, LeftMouseButton, Gamepad_FaceButton_Bottom, W, A, S, D) |
Examples:
# Map spacebar to jump
-verb=input-map-key -asset=/Game/Input/IMC_Default -action=/Game/Input/IA_Jump -key=SpaceBar -save
# Map left mouse button to fire
-verb=input-map-key -asset=/Game/Input/IMC_Default -action=/Game/Input/IA_Fire -key=LeftMouseButton -save
# Map gamepad face button
-verb=input-map-key -asset=/Game/Input/IMC_Default -action=/Game/Input/IA_Jump -key=Gamepad_FaceButton_Bottom -save
Batch example: create a complete input setup from scratch:
{
"operations": [
{ "verb": "create-input-action", "args": { "asset": "/Game/Input/IA_Jump" } },
{ "verb": "create-input-action", "args": { "asset": "/Game/Input/IA_Fire", "valuetype": "Bool" } },
{ "verb": "create-input-action", "args": { "asset": "/Game/Input/IA_Move", "valuetype": "Vector2D" } },
{ "verb": "create-input-mapping", "args": { "asset": "/Game/Input/IMC_Default" } },
{ "verb": "input-map-key", "args": { "asset": "/Game/Input/IMC_Default", "action": "/Game/Input/IA_Jump", "key": "SpaceBar" } },
{ "verb": "input-map-key", "args": { "asset": "/Game/Input/IMC_Default", "action": "/Game/Input/IA_Fire", "key": "LeftMouseButton" } },
{ "verb": "input-map-key", "args": { "asset": "/Game/Input/IMC_Default", "action": "/Game/Input/IA_Move", "key": "W" } },
{ "verb": "input-map-key", "args": { "asset": "/Game/Input/IMC_Default", "action": "/Game/Input/IA_Move", "key": "S" } }
],
"save": true
}
Config verbs (3)#
Read and write engine/project configuration (INI) values. These operate on the
project's Config/ directory files without loading a full editor session.
config-get#
Read a config/INI value.
Category: Read (Config)
Args:
| Arg | Required | Description |
|---|---|---|
-asset= |
No | Not used (ignored if provided) |
-file= |
Yes | Config file: Game, Engine, Input, Editor (shortcuts), or a direct file path |
-section= |
Yes | INI section name (e.g., /Script/Engine.GameMapsSettings) |
-key= |
Yes | Key name |
Examples:
# Read the default map
-verb=config-get -file=Game -section=/Script/EngineSettings.GameMapsSettings -key=GameDefaultMap
# Read a custom gameplay setting
-verb=config-get -file=Game -section=/Script/CombatDemo.CombatSettings -key=MaxPlayersPerTeam
# Read from Engine config
-verb=config-get -file=Engine -section=/Script/Engine.GarbageCollectionSettings -key=gc.MaxObjectsInGame
Output:
{
"success": true,
"file": "Game",
"section": "/Script/EngineSettings.GameMapsSettings",
"key": "GameDefaultMap",
"value": "/Game/Maps/MainMenu"
}
config-set#
Set a config/INI value. Creates the section and key if they do not exist.
Category: Write (Config)
Args:
| Arg | Required | Description |
|---|---|---|
-file= |
Yes | Config file (same shortcuts as config-get, or a direct path) |
-section= |
Yes | INI section name |
-key= |
Yes | Key name |
-value= |
Yes | Value to set |
Examples:
# Set the default map
-verb=config-set -file=Game -section=/Script/EngineSettings.GameMapsSettings -key=GameDefaultMap -value=/Game/Maps/Lobby
# Set a custom gameplay config value
-verb=config-set -file=Game -section=/Script/CombatDemo.CombatSettings -key=MaxPlayersPerTeam -value=5
# Set an engine config value
-verb=config-set -file=Engine -section=/Script/Engine.InputSettings -key=bEnableMouseSmoothing -value=False
config-list#
List all keys in a config/INI section.
Category: Read (Config)
Args:
| Arg | Required | Description |
|---|---|---|
-file= |
Yes | Config file (same shortcuts as config-get, or a direct path) |
-section= |
Yes | INI section name |
Examples:
-verb=config-list -file=Game -section=/Script/EngineSettings.GameMapsSettings
-verb=config-list -file=Engine -section=/Script/Engine.InputSettings
Output:
{
"success": true,
"file": "Game",
"section": "/Script/EngineSettings.GameMapsSettings",
"keys": [
{ "key": "GameDefaultMap", "value": "/Game/Maps/MainMenu" },
{ "key": "GlobalDefaultGameMode", "value": "/Game/Blueprints/BP_GameMode.BP_GameMode_C" },
{ "key": "GlobalDefaultServerGameMode", "value": "" }
]
}
Batch example: read multiple config values in one commandlet run:
{
"operations": [
{ "verb": "config-get", "args": { "file": "Game", "section": "/Script/EngineSettings.GameMapsSettings", "key": "GameDefaultMap" } },
{ "verb": "config-get", "args": { "file": "Game", "section": "/Script/EngineSettings.GameMapsSettings", "key": "GlobalDefaultGameMode" } },
{ "verb": "config-get", "args": { "file": "Engine", "section": "/Script/Engine.InputSettings", "key": "bEnableMouseSmoothing" } }
]
}
Gameplay Tag verbs (3)#
Manage the project's gameplay tag registry. These verbs add, remove, and list
tags in the project tag INI file. No -asset parameter is needed; they
operate on the project-wide tag registry.
tag-add#
Add a gameplay tag to the project's tag registry.
Category: Write (Tags)
Args:
| Arg | Required | Description |
|---|---|---|
-tag= |
Yes | Tag string (e.g., Ability.Skill.Fireball) |
-comment= |
No | Tag comment/description |
Examples:
# Add a simple tag
-verb=tag-add -tag=Ability.Skill.Fireball
# Add a tag with a description
-verb=tag-add -tag=Ability.Skill.Fireball -comment="Fireball projectile ability"
# Add a state tag
-verb=tag-add -tag=State.Dead -comment="Character is dead, cannot act"
Notes:
- Idempotent: adding an existing tag succeeds without error.
- Parent tags in the hierarchy are created implicitly (e.g., adding
Ability.Skill.FireballensuresAbilityandAbility.Skillexist).
tag-remove#
Remove a gameplay tag from the registry. Idempotent: if the tag does not exist, the verb succeeds without error.
Category: Write (Tags)
Args:
| Arg | Required | Description |
|---|---|---|
-tag= |
Yes | Tag string to remove |
Examples:
-verb=tag-remove -tag=Ability.Skill.Fireball
-verb=tag-remove -tag=State.Deprecated.OldState
tag-list#
List gameplay tags, optionally filtered by a prefix.
Category: Read (Tags)
Args:
| Arg | Required | Description |
|---|---|---|
-filter= |
No | Prefix filter (supports * wildcard suffix, e.g., Ability.*) |
Examples:
# List all tags
-verb=tag-list
# List only ability tags
-verb=tag-list -filter=Ability.*
# List state tags
-verb=tag-list -filter=State.*
# List weapon-related tags
-verb=tag-list -filter=Ability.Weapon.*
Output:
{
"success": true,
"filter": "Ability.*",
"tags": [
{ "tag": "Ability.Cooldown", "comment": "" },
{ "tag": "Ability.Skill.Fireball", "comment": "Fireball projectile ability" },
{ "tag": "Ability.Skill.Dash", "comment": "Dash movement ability" },
{ "tag": "Ability.Weapon.CanFire", "comment": "Weapon is ready to fire" },
{ "tag": "Ability.Weapon.Reloading", "comment": "Weapon is reloading" }
]
}
Batch example: register a set of gameplay tags for a new ability:
{
"operations": [
{ "verb": "tag-add", "args": { "tag": "Ability.Skill.IceBlast", "comment": "Ice blast AoE ability" } },
{ "verb": "tag-add", "args": { "tag": "Ability.Cooldown.IceBlast", "comment": "Cooldown tag for Ice Blast" } },
{ "verb": "tag-add", "args": { "tag": "Effect.Slow.IceBlast", "comment": "Slow debuff from Ice Blast" } },
{ "verb": "tag-add", "args": { "tag": "GameplayCue.Ability.IceBlast", "comment": "VFX/SFX cue for Ice Blast" } }
]
}
Texture verbs (1)#
Export texture data from UE assets to standard image files on disk.
texture-export#
Export a texture asset to a file on disk. Supports multiple output formats and mip level selection.
Category: Read (Texture)
Args:
| Arg | Required | Description |
|---|---|---|
-asset= |
Yes | Texture asset path |
-format= |
No | Output format: png (default), jpg/jpeg, bmp, exr |
-mip= |
No | Specific mip level index (0 = highest resolution) |
-maxSize= |
No | Auto-select the smallest mip level >= this pixel size |
-out= |
No | Output file path (auto-generated from asset name if omitted) |
Examples:
# Export a texture as PNG (default format, auto-generated output path)
-verb=texture-export -asset=/Game/Textures/T_PlayerIcon
# Export as JPEG to a specific location
-verb=texture-export -asset=/Game/Textures/T_PlayerIcon -format=jpg -out=C:/Temp/player_icon.jpg
# Export a specific mip level
-verb=texture-export -asset=/Game/Textures/T_WorldMap -mip=2
# Export the smallest mip that is at least 256px
-verb=texture-export -asset=/Game/Textures/T_WorldMap -maxSize=256
# Export as EXR for HDR data (useful for lightmaps, height maps)
-verb=texture-export -asset=/Game/Textures/T_Heightmap -format=exr -out=C:/Temp/heightmap.exr
Output:
{
"success": true,
"asset": "/Game/Textures/T_PlayerIcon",
"outputPath": "C:/Temp/T_PlayerIcon.png",
"format": "png",
"mipLevel": 0,
"resolution": { "width": 512, "height": 512 }
}
Notes:
- The verb reads the texture data from the cooked or source asset. It does not modify the asset.
- When
-outis omitted, the file is written to the project'sSaved/directory with a name derived from the asset path. - Use
-maxSizewhen you need a quick thumbnail-sized export without knowing the exact mip structure. The verb picks the closest mip level that meets the size requirement.
Tips#
- Conditional verbs may be absent. If
niagara-list-paramsorcreate-input-actionreturns an unknown verb error, the required plugin is not compiled into the engine build. CheckBAA_WITH_NIAGARA/BAA_WITH_ENHANCED_INPUT. - Config shortcuts save typing. Use
Game,Engine,Input,Editorinstead of full file paths for the four standard config files. - Tag hierarchy is implicit. Adding
Ability.Skill.Fireballauto-creates parent tags. You do not need to addAbilityandAbility.Skillseparately. - Batch tag operations. When setting up a new ability or system, batch all tag-add calls in a single commandlet run to avoid repeated 30-60s startup costs.
- Texture mip selection. Use
-mip=0for full resolution or-maxSize=for size-constrained exports. Omitting both defaults to mip level 0.