editor.niagara.getInfo
Returns basic information about a Niagara system.
| Name | Type | Required | Description |
asset_path | string | Yes | Niagara system asset path |
Returns
| Field | Type | Description |
system_name | string | System name |
num_emitters | number | Number of emitters |
is_valid | bool | Whether system is valid |
is_ready_to_run | bool | Whether system is compiled and ready |
has_outstanding_compilation | bool | Whether compilation is pending |
Example Request
{ "jsonrpc": "2.0", "id": 1, "method": "editor.niagara.getInfo", "params": { "asset_path": "/Game/FX/NS_Fire" } }
editor.niagara.getEmitters
Returns all emitters in a Niagara system.
| Name | Type | Required | Description |
asset_path | string | Yes | Niagara system asset path |
Returns
| Field | Type | Description |
emitters | array | Each: {emitter_name, emitter_index, is_enabled, sim_target} |
count | number | Number of emitters |
Example Request
{ "jsonrpc": "2.0", "id": 1, "method": "editor.niagara.getEmitters", "params": { "asset_path": "/Game/FX/NS_Fire" } }
editor.niagara.create
Creates a new Niagara system asset.
| Name | Type | Required | Description |
path | string | Yes | Content directory (e.g. "/Game/FX") |
name | string | Yes | System name |
Returns
| Field | Type | Description |
success | bool | Whether creation succeeded |
asset_path | string | Full asset path |
Example Request
{ "jsonrpc": "2.0", "id": 1, "method": "editor.niagara.create", "params": { "path": "/Game/FX", "name": "NS_Smoke" } }
editor.niagara.getParameters
Returns all user-exposed parameters in a Niagara system.
| Name | Type | Required | Description |
asset_path | string | Yes | Niagara system asset path |
Returns
| Field | Type | Description |
parameters | array | Each: {param_name, param_type, default_value} |
count | number | Number of parameters |
Example Request
{ "jsonrpc": "2.0", "id": 1, "method": "editor.niagara.getParameters", "params": { "asset_path": "/Game/FX/NS_Fire" } }
editor.niagara.setParameter
Sets a parameter value in a Niagara system (supports float, int, bool).
| Name | Type | Required | Description |
asset_path | string | Yes | Niagara system asset path |
param_name | string | Yes | Parameter name |
value | varies | Yes | Parameter value (number, bool, etc.) |
Returns
| Field | Type | Description |
success | bool | Whether parameter was set |
Example Request
{
"jsonrpc": "2.0", "id": 1, "method": "editor.niagara.setParameter",
"params": { "asset_path": "/Game/FX/NS_Fire", "param_name": "SpawnRate", "value": 100.0 }
}
editor.niagara.setEmitterEnabled
Enables or disables an emitter in a Niagara system.
| Name | Type | Required | Description |
asset_path | string | Yes | Niagara system asset path |
enabled | bool | Yes | Whether emitter should be enabled |
emitter_index | number | No* | Emitter index |
emitter_name | string | No* | Emitter name |
*One of emitter_index or emitter_name must be provided.
Returns
| Field | Type | Description |
success | bool | Whether state was changed |
changed | bool | Whether the enabled state actually changed |
Example Request
{
"jsonrpc": "2.0", "id": 1, "method": "editor.niagara.setEmitterEnabled",
"params": { "asset_path": "/Game/FX/NS_Fire", "emitter_name": "Sparks", "enabled": false }
}
editor.niagara.compile
Compiles a Niagara system and waits for completion.
| Name | Type | Required | Description |
asset_path | string | Yes | Niagara system asset path |
Returns
| Field | Type | Description |
success | bool | Whether compilation succeeded |
is_ready_to_run | bool | Whether system is ready after compile |
has_outstanding_compilation | bool | Whether compilation is still pending |
errors | array | Compilation errors (empty if none) |
Example Request
{ "jsonrpc": "2.0", "id": 1, "method": "editor.niagara.compile", "params": { "asset_path": "/Game/FX/NS_Fire" } }
editor.niagara.getEmitterDetails
Returns deep emitter information including scripts, renderers, event handlers, and simulation stages.
| Name | Type | Required | Description |
asset_path | string | Yes | Niagara system asset path |
emitter_index | number | No* | Emitter index |
emitter_name | string | No* | Emitter name |
*One of emitter_index or emitter_name must be provided.
Returns
| Field | Type | Description |
emitter_name | string | Emitter display name |
is_enabled | bool | Whether emitter is enabled |
sim_target | string | "cpu" or "gpu" |
local_space | bool | Whether particles are in local space |
determinism | bool | Whether deterministic RNG is enabled |
random_seed | number | RNG seed |
scripts | array | Each: {name, usage} |
renderers | array | Each: {index, type, is_enabled} |
event_handlers | array | Each: {source_event_name, spawn_number, max_events_per_frame} |
num_simulation_stages | number | Number of simulation stages |
Example Request
{
"jsonrpc": "2.0", "id": 1, "method": "editor.niagara.getEmitterDetails",
"params": { "asset_path": "/Game/FX/NS_Fire", "emitter_name": "Flames" }
}
editor.niagara.getModules
Returns all scripts/modules in an emitter grouped by usage (spawn, update, event).
| Name | Type | Required | Description |
asset_path | string | Yes | Niagara system asset path |
emitter_index | number | No* | Emitter index |
emitter_name | string | No* | Emitter name |
*One of emitter_index or emitter_name must be provided.
Returns
| Field | Type | Description |
spawn | object | {script_name, usage, is_compilable} for spawn script |
update | object | {script_name, usage, is_compilable} for update script |
event_scripts | array | Each: {script_name, source_event_name, spawn_number} |
all_scripts | array | Complete list: {name, usage} |
count | number | Total script count |
Example Request
{
"jsonrpc": "2.0", "id": 1, "method": "editor.niagara.getModules",
"params": { "asset_path": "/Game/FX/NS_Fire", "emitter_name": "Flames" }
}
editor.niagara.getRenderers
Returns all renderers on an emitter with type and key properties.
| Name | Type | Required | Description |
asset_path | string | Yes | Niagara system asset path |
emitter_index | number | No* | Emitter index |
emitter_name | string | No* | Emitter name |
*One of emitter_index or emitter_name must be provided.
Returns
| Field | Type | Description |
renderers | array | Each: {index, type, class_name, is_enabled, sort_order_hint} + type-specific fields (material, meshes) |
count | number | Number of renderers |
Example Request
{
"jsonrpc": "2.0", "id": 1, "method": "editor.niagara.getRenderers",
"params": { "asset_path": "/Game/FX/NS_Fire", "emitter_name": "Flames" }
}
editor.niagara.getRendererProperties
Returns all editable properties on a specific renderer via UE reflection.
| Name | Type | Required | Description |
asset_path | string | Yes | Niagara system asset path |
emitter_index | number | No* | Emitter index |
emitter_name | string | No* | Emitter name |
renderer_index | number | Yes | Index of renderer within the emitter |
*One of emitter_index or emitter_name must be provided.
Returns
| Field | Type | Description |
type | string | Renderer type (sprite, mesh, ribbon, etc.) |
class_name | string | UE class name |
is_enabled | bool | Whether renderer is enabled |
sort_order_hint | number | Sort order hint |
allow_in_cull_proxies | bool | Cull proxy setting |
properties | array | Each: {name, type, value} -- all EditAnywhere properties |
property_count | number | Number of editable properties |
Example Request
{
"jsonrpc": "2.0", "id": 1, "method": "editor.niagara.getRendererProperties",
"params": { "asset_path": "/Game/FX/NS_Fire", "emitter_name": "Flames", "renderer_index": 0 }
}
editor.niagara.setRendererEnabled
Enables or disables a renderer on an emitter.
| Name | Type | Required | Description |
asset_path | string | Yes | Niagara system asset path |
emitter_index | number | No* | Emitter index |
emitter_name | string | No* | Emitter name |
renderer_index | number | Yes | Index of renderer within the emitter |
enabled | bool | Yes | Whether renderer should be enabled |
*One of emitter_index or emitter_name must be provided.
Returns
| Field | Type | Description |
success | bool | Whether operation succeeded |
is_enabled | bool | Renderer's new enabled state |
Example Request
{
"jsonrpc": "2.0", "id": 1, "method": "editor.niagara.setRendererEnabled",
"params": { "asset_path": "/Game/FX/NS_Fire", "emitter_name": "Flames", "renderer_index": 0, "enabled": false }
}
editor.niagara.getDataInterfaces
Returns all data interfaces used by an emitter's scripts.
| Name | Type | Required | Description |
asset_path | string | Yes | Niagara system asset path |
emitter_index | number | No* | Emitter index |
emitter_name | string | No* | Emitter name |
*One of emitter_index or emitter_name must be provided.
Returns
| Field | Type | Description |
data_interfaces | array | Each: {name, class, script_usage} |
count | number | Number of data interfaces |
Example Request
{
"jsonrpc": "2.0", "id": 1, "method": "editor.niagara.getDataInterfaces",
"params": { "asset_path": "/Game/FX/NS_Fire", "emitter_name": "Flames" }
}
editor.niagara.getSystemVariables
Returns system-level user parameters and system properties.
| Name | Type | Required | Description |
asset_path | string | Yes | Niagara system asset path |
Returns
| Field | Type | Description |
user_parameters | array | Each: {name, type} |
user_parameter_count | number | Number of user parameters |
num_emitters | number | Number of emitters |
is_looping | bool | Whether system loops |
needs_warmup | bool | Whether system needs warmup |
warmup_time | number | Warmup time in seconds |
Example Request
{ "jsonrpc": "2.0", "id": 1, "method": "editor.niagara.getSystemVariables", "params": { "asset_path": "/Game/FX/NS_Fire" } }
editor.niagara.getEmitterVariables
Returns variables from an emitter's renderer bindings parameter store.
| Name | Type | Required | Description |
asset_path | string | Yes | Niagara system asset path |
emitter_index | number | No* | Emitter index |
emitter_name | string | No* | Emitter name |
*One of emitter_index or emitter_name must be provided.
Returns
| Field | Type | Description |
emitter_name | string | Emitter display name |
variables | array | Each: {name, type} |
count | number | Number of variables |
Example Request
{
"jsonrpc": "2.0", "id": 1, "method": "editor.niagara.getEmitterVariables",
"params": { "asset_path": "/Game/FX/NS_Fire", "emitter_name": "Flames" }
}
editor.niagara.getEmitterProperties
Returns emitter configuration properties (sim target, bounds, allocation, etc.).
| Name | Type | Required | Description |
asset_path | string | Yes | Niagara system asset path |
emitter_index | number | No* | Emitter index |
emitter_name | string | No* | Emitter name |
*One of emitter_index or emitter_name must be provided.
Returns
| Field | Type | Description |
emitter_name | string | Emitter display name |
sim_target | string | "cpu" or "gpu" |
local_space | bool | Whether particles are in local space |
determinism | bool | Whether deterministic RNG is enabled |
random_seed | number | RNG seed |
requires_persistent_ids | bool | Whether persistent IDs are enabled |
max_gpu_particles_spawn_per_frame | number | Max GPU spawn per frame (0 = default) |
pre_allocation_count | number | Pre-allocation particle count |
bounds_mode | string | "dynamic", "fixed", or "programmable" |
allocation_mode | string | "automatic" or "manual" |
num_renderers | number | Number of renderers |
num_event_handlers | number | Number of event handlers |
num_simulation_stages | number | Number of simulation stages |
Example Request
{
"jsonrpc": "2.0", "id": 1, "method": "editor.niagara.getEmitterProperties",
"params": { "asset_path": "/Game/FX/NS_Fire", "emitter_name": "Flames" }
}
editor.niagara.setEmitterProperty
Sets an emitter property value. Supported properties: local_space (bool), determinism (bool), random_seed (number), pre_allocation_count (number), max_gpu_particles_spawn_per_frame (number).
| Name | Type | Required | Description |
asset_path | string | Yes | Niagara system asset path |
emitter_index | number | No* | Emitter index |
emitter_name | string | No* | Emitter name |
property | string | Yes | Property name (see list above) |
value | varies | Yes | New value |
*One of emitter_index or emitter_name must be provided.
Returns
| Field | Type | Description |
success | bool | Whether property was set |
property | string | Property that was modified |
Example Request
{
"jsonrpc": "2.0", "id": 1, "method": "editor.niagara.setEmitterProperty",
"params": { "asset_path": "/Game/FX/NS_Fire", "emitter_name": "Flames", "property": "local_space", "value": true }
}
editor.niagara.getSimulationStages
Returns all simulation stages for an emitter.
| Name | Type | Required | Description |
asset_path | string | Yes | Niagara system asset path |
emitter_index | number | No* | Emitter index |
emitter_name | string | No* | Emitter name |
*One of emitter_index or emitter_name must be provided.
Returns
| Field | Type | Description |
simulation_stages | array | Each: {index, name, class, enabled} + generic stage fields |
count | number | Number of simulation stages |
Example Request
{
"jsonrpc": "2.0", "id": 1, "method": "editor.niagara.getSimulationStages",
"params": { "asset_path": "/Game/FX/NS_Fire", "emitter_name": "Flames" }
}