editor.niagara

Niagara particle system editing

← API Reference

editor.niagara.getInfo

Returns basic information about a Niagara system.

Name Type Required Description
asset_pathstringYesNiagara system asset path

Returns

Field Type Description
system_namestringSystem name
num_emittersnumberNumber of emitters
is_validboolWhether system is valid
is_ready_to_runboolWhether system is compiled and ready
has_outstanding_compilationboolWhether 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_pathstringYesNiagara system asset path

Returns

Field Type Description
emittersarrayEach: {emitter_name, emitter_index, is_enabled, sim_target}
countnumberNumber 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
pathstringYesContent directory (e.g. "/Game/FX")
namestringYesSystem name

Returns

Field Type Description
successboolWhether creation succeeded
asset_pathstringFull 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_pathstringYesNiagara system asset path

Returns

Field Type Description
parametersarrayEach: {param_name, param_type, default_value}
countnumberNumber 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_pathstringYesNiagara system asset path
param_namestringYesParameter name
valuevariesYesParameter value (number, bool, etc.)

Returns

Field Type Description
successboolWhether 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_pathstringYesNiagara system asset path
enabledboolYesWhether emitter should be enabled
emitter_indexnumberNo*Emitter index
emitter_namestringNo*Emitter name

*One of emitter_index or emitter_name must be provided.

Returns

Field Type Description
successboolWhether state was changed
changedboolWhether 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_pathstringYesNiagara system asset path

Returns

Field Type Description
successboolWhether compilation succeeded
is_ready_to_runboolWhether system is ready after compile
has_outstanding_compilationboolWhether compilation is still pending
errorsarrayCompilation 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_pathstringYesNiagara system asset path
emitter_indexnumberNo*Emitter index
emitter_namestringNo*Emitter name

*One of emitter_index or emitter_name must be provided.

Returns

Field Type Description
emitter_namestringEmitter display name
is_enabledboolWhether emitter is enabled
sim_targetstring"cpu" or "gpu"
local_spaceboolWhether particles are in local space
determinismboolWhether deterministic RNG is enabled
random_seednumberRNG seed
scriptsarrayEach: {name, usage}
renderersarrayEach: {index, type, is_enabled}
event_handlersarrayEach: {source_event_name, spawn_number, max_events_per_frame}
num_simulation_stagesnumberNumber 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_pathstringYesNiagara system asset path
emitter_indexnumberNo*Emitter index
emitter_namestringNo*Emitter name

*One of emitter_index or emitter_name must be provided.

Returns

Field Type Description
spawnobject{script_name, usage, is_compilable} for spawn script
updateobject{script_name, usage, is_compilable} for update script
event_scriptsarrayEach: {script_name, source_event_name, spawn_number}
all_scriptsarrayComplete list: {name, usage}
countnumberTotal 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_pathstringYesNiagara system asset path
emitter_indexnumberNo*Emitter index
emitter_namestringNo*Emitter name

*One of emitter_index or emitter_name must be provided.

Returns

Field Type Description
renderersarrayEach: {index, type, class_name, is_enabled, sort_order_hint} + type-specific fields (material, meshes)
countnumberNumber 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_pathstringYesNiagara system asset path
emitter_indexnumberNo*Emitter index
emitter_namestringNo*Emitter name
renderer_indexnumberYesIndex of renderer within the emitter

*One of emitter_index or emitter_name must be provided.

Returns

Field Type Description
typestringRenderer type (sprite, mesh, ribbon, etc.)
class_namestringUE class name
is_enabledboolWhether renderer is enabled
sort_order_hintnumberSort order hint
allow_in_cull_proxiesboolCull proxy setting
propertiesarrayEach: {name, type, value} -- all EditAnywhere properties
property_countnumberNumber 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_pathstringYesNiagara system asset path
emitter_indexnumberNo*Emitter index
emitter_namestringNo*Emitter name
renderer_indexnumberYesIndex of renderer within the emitter
enabledboolYesWhether renderer should be enabled

*One of emitter_index or emitter_name must be provided.

Returns

Field Type Description
successboolWhether operation succeeded
is_enabledboolRenderer'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_pathstringYesNiagara system asset path
emitter_indexnumberNo*Emitter index
emitter_namestringNo*Emitter name

*One of emitter_index or emitter_name must be provided.

Returns

Field Type Description
data_interfacesarrayEach: {name, class, script_usage}
countnumberNumber 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_pathstringYesNiagara system asset path

Returns

Field Type Description
user_parametersarrayEach: {name, type}
user_parameter_countnumberNumber of user parameters
num_emittersnumberNumber of emitters
is_loopingboolWhether system loops
needs_warmupboolWhether system needs warmup
warmup_timenumberWarmup 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_pathstringYesNiagara system asset path
emitter_indexnumberNo*Emitter index
emitter_namestringNo*Emitter name

*One of emitter_index or emitter_name must be provided.

Returns

Field Type Description
emitter_namestringEmitter display name
variablesarrayEach: {name, type}
countnumberNumber 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_pathstringYesNiagara system asset path
emitter_indexnumberNo*Emitter index
emitter_namestringNo*Emitter name

*One of emitter_index or emitter_name must be provided.

Returns

Field Type Description
emitter_namestringEmitter display name
sim_targetstring"cpu" or "gpu"
local_spaceboolWhether particles are in local space
determinismboolWhether deterministic RNG is enabled
random_seednumberRNG seed
requires_persistent_idsboolWhether persistent IDs are enabled
max_gpu_particles_spawn_per_framenumberMax GPU spawn per frame (0 = default)
pre_allocation_countnumberPre-allocation particle count
bounds_modestring"dynamic", "fixed", or "programmable"
allocation_modestring"automatic" or "manual"
num_renderersnumberNumber of renderers
num_event_handlersnumberNumber of event handlers
num_simulation_stagesnumberNumber 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_pathstringYesNiagara system asset path
emitter_indexnumberNo*Emitter index
emitter_namestringNo*Emitter name
propertystringYesProperty name (see list above)
valuevariesYesNew value

*One of emitter_index or emitter_name must be provided.

Returns

Field Type Description
successboolWhether property was set
propertystringProperty 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_pathstringYesNiagara system asset path
emitter_indexnumberNo*Emitter index
emitter_namestringNo*Emitter name

*One of emitter_index or emitter_name must be provided.

Returns

Field Type Description
simulation_stagesarrayEach: {index, name, class, enabled} + generic stage fields
countnumberNumber of simulation stages

Example Request

{
  "jsonrpc": "2.0", "id": 1, "method": "editor.niagara.getSimulationStages",
  "params": { "asset_path": "/Game/FX/NS_Fire", "emitter_name": "Flames" }
}