editor.sound

Sound asset management and editing

← API Reference

editor.sound.getInfo

Returns detailed information about a sound asset (type-specific fields vary).

Name Type Required Description
asset_pathstringYesSound asset path

Returns (common)

Field Type Description
asset_namestringAsset name
asset_pathstringAsset path
asset_typestringAsset type (SoundCue, SoundWave, SoundClass, SoundSubmix)

Additional fields for SoundCue

Field Type Description
durationnumberDuration in seconds
volume_multipliernumberVolume multiplier
pitch_multipliernumberPitch multiplier
max_distancenumberMax audible distance
num_nodesnumberNumber of cue graph nodes

Additional fields for SoundWave

Field Type Description
durationnumberDuration in seconds
num_channelsnumberNumber of audio channels
sample_ratenumberSample rate in Hz
is_loopingboolWhether sound loops
is_streamingboolWhether sound streams
compression_typestringCompression type

Additional fields for SoundClass

Field Type Description
volumenumberVolume
pitchnumberPitch
is_ui_soundboolWhether it's a UI sound
always_playboolWhether it always plays
parent_classstringParent class name (if any)
num_childrennumberNumber of child classes

Example Request

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sound.getInfo", "params": { "asset_path": "/Game/Sounds/SC_Explosion" } }

editor.sound.getSoundClasses

Returns all available sound classes.

No parameters.

Returns

Field Type Description
sound_classesarrayEach: {class_name, asset_path, parent_class}
countnumberNumber of sound classes

Example Request

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sound.getSoundClasses" }

editor.sound.getSubmixes

Returns all available sound submixes.

No parameters.

Returns

Field Type Description
submixesarrayEach: {submix_name, asset_path, parent_submix}
countnumberNumber of submixes

Example Request

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sound.getSubmixes" }

editor.sound.getCueNodes

Returns all nodes in a sound cue graph.

Name Type Required Description
asset_pathstringYesSoundCue asset path

Returns

Field Type Description
nodesarrayEach: {node_name, node_class, max_child_nodes, num_children, connections}
countnumberNumber of nodes

Example Request

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sound.getCueNodes", "params": { "asset_path": "/Game/Sounds/SC_Explosion" } }

editor.sound.getWaveInfo

Returns detailed information about a SoundWave asset.

Name Type Required Description
asset_pathstringYesSoundWave asset path

Returns

Field Type Description
asset_namestringAsset name
asset_pathstringAsset path
sample_ratenumberSample rate in Hz
num_channelsnumberNumber of channels
durationnumberDuration in seconds
compression_typestringCompression type
is_loopingboolWhether sound loops
is_streamingboolWhether sound streams
volumenumberVolume
pitchnumberPitch
subtitle_textstringSubtitle text
sound_classstringAssigned sound class (if any)

Example Request

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sound.getWaveInfo", "params": { "asset_path": "/Game/Sounds/SW_Gunshot" } }

editor.sound.setSoundClass

Assigns a sound class to a sound asset.

Name Type Required Description
asset_pathstringYesSound asset path
sound_class_pathstringYesSoundClass asset path to assign

Returns

Field Type Description
successboolWhether sound class was assigned

Example Request

{
  "jsonrpc": "2.0", "id": 1, "method": "editor.sound.setSoundClass",
  "params": { "asset_path": "/Game/Sounds/SW_Gunshot", "sound_class_path": "/Game/Audio/SC_SFX" }
}

editor.sound.getAttenuation

Returns attenuation settings for a SoundCue or SoundAttenuation asset.

Name Type Required Description
asset_pathstringYesPath to a SoundCue or SoundAttenuation asset

Returns

Field Type Description
has_attenuationboolWhether attenuation is configured
sourcestring"SoundAttenuation", "CueOverride", or "AttenuationAsset"
attenuateboolWhether attenuation is enabled
falloff_distancenumberFalloff distance
db_attenuation_at_maxnumberdB attenuation at max distance
distance_algorithmstringDistance algorithm enum value
attenuation_assetstringLinked attenuation asset path (if source is AttenuationAsset)

Example Request

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sound.getAttenuation", "params": { "asset_path": "/Game/Sounds/SC_Explosion" } }

editor.sound.getConcurrency

Returns concurrency settings for a sound asset.

Name Type Required Description
asset_pathstringYesSound asset path

Returns

Field Type Description
has_overrideboolWhether concurrency is overridden
max_countnumberMax concurrent instances (if overridden)
concurrency_setarrayPaths of assigned USoundConcurrency assets

Example Request

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sound.getConcurrency", "params": { "asset_path": "/Game/Sounds/SC_Explosion" } }

editor.sound.getDialogueWave

Returns details about a DialogueWave asset.

Name Type Required Description
asset_pathstringYesDialogueWave asset path

Returns

Field Type Description
asset_namestringAsset name
spoken_textstringLocalized spoken text
is_matureboolWhether content is mature
num_contextsnumberNumber of dialogue contexts

Example Request

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sound.getDialogueWave", "params": { "asset_path": "/Game/Dialogue/DW_Greeting" } }

editor.sound.getSoundProperties

Returns playback properties for a SoundCue.

Name Type Required Description
asset_pathstringYesSoundCue asset path

Returns

Field Type Description
volume_multipliernumberVolume multiplier
pitch_multipliernumberPitch multiplier
durationnumberDuration in seconds
max_distancenumberMax audible distance
subtitle_prioritynumberSubtitle priority
override_attenuationboolWhether attenuation is overridden

Example Request

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sound.getSoundProperties", "params": { "asset_path": "/Game/Sounds/SC_Explosion" } }

editor.sound.getAttenuationAssets

Lists all SoundAttenuation assets in the project.

Name Type Required Description
path_filterstringNoFilter results to paths containing this string

Returns

Field Type Description
assetsarrayEach: {name, path}
countnumberNumber of attenuation assets

Example Request

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sound.getAttenuationAssets" }

editor.sound.setAttenuation

Sets or clears the attenuation asset on a sound asset.

Name Type Required Description
asset_pathstringYesSound asset path
attenuation_assetstringNoSoundAttenuation asset path (empty to clear)

Returns

Field Type Description
successboolWhether attenuation was set

Example Request

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sound.setAttenuation", "params": { "asset_path": "/Game/Sounds/SC_Explosion", "attenuation_asset": "/Game/Audio/SA_Default" } }

editor.sound.setConcurrency

Adds a concurrency asset to or clears the concurrency set on a sound asset.

Name Type Required Description
asset_pathstringYesSound asset path
concurrency_assetstringNoSoundConcurrency asset path (empty to clear all)

Returns

Field Type Description
successboolWhether concurrency was set

Example Request

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sound.setConcurrency", "params": { "asset_path": "/Game/Sounds/SC_Explosion", "concurrency_asset": "/Game/Audio/Concurrency_SFX" } }

editor.sound.setSoundProperties

Sets playback properties on a SoundCue (volume, pitch).

Name Type Required Description
asset_pathstringYesSoundCue asset path
volume_multipliernumberNoVolume multiplier
pitch_multipliernumberNoPitch multiplier

Returns

Field Type Description
successboolWhether properties were set
volume_multipliernumberCurrent volume multiplier
pitch_multipliernumberCurrent pitch multiplier

Example Request

{ "jsonrpc": "2.0", "id": 1, "method": "editor.sound.setSoundProperties", "params": { "asset_path": "/Game/Sounds/SC_Explosion", "volume_multiplier": 0.8, "pitch_multiplier": 1.2 } }