PinWright
← All text formats

Sound Cue graphs

SCIR
Read as text

A Sound Cue is a tree of audio nodes, such as wave players, modulators, mixers and attenuation, saved in a binary .uasset. You normally inspect it in the Sound Cue editor. SCIR writes the same graph out as short, indented text: the cue's volume and pitch, and its node tree with each node's type, position and properties. You can compare it between versions and review it, and your assistant can read it.

What it gives you

Diffable in version control
When a binary cue changes, Git only says "binary files differ." As SCIR, a review shows exactly which node moved, which wave was swapped, or which pitch range changed.
Reviewable like code
The whole node tree fits on a screen as indented text. A reviewer reads the signal path top to bottom without opening the editor.
Readable for your assistant
Your assistant can't open a Sound Cue graph, but it can read SCIR. It gets the full structure as text, so it can answer questions, spot regressions or explain what the cue does.
Faithful and consistent
SCIR is built from the live cue the same way as the asset-dump files. The same cue always gives the same text, and nodes that can't be reached show as warnings.

Read-only

SCIR is read-only. It turns a Sound Cue into text for review and for your assistant's context. Writing SCIR back is planned, so this format doesn't create or edit cues today.

What the text looks like

A modulator feeding a wave player, read from a cue:

scir
sound_cue "/Game/Audio/SC_DroneMotor.SC_DroneMotor" {
  volume 0.75
  pitch 1
  root modulator Modulator_0 @(0, 0) (PitchMin: 0.9, PitchMax: 1.1, VolumeMin: 0.8, VolumeMax: 1) {
    child wave_player WavePlayer_0 @(-208, 16) (wave: "/Game/Audio/Motor.Motor", duration: 2.5, numChannels: 1, sampleRate: 48000)
  }
}

Each line is a node: its role (root, child), type, name, graph position @(x, y), and its properties in parentheses. Indentation shows which node is a child of which.

How to ask for it

Ask what a cue does. Your assistant reads it as text and answers. Reading never changes the asset. More examples are on the Sound and audio page.

exampleSound and audio
You: What does SC_DroneMotor do?

It plays the Motor wave through a modulator that varies pitch between 0.9
and 1.1 and volume between 0.8 and 1, at a cue volume of 0.75.

If the cue has problems, such as a node used more than once or no root node, the read reports them as warnings, and your assistant can point them out.