HytaleDocs
Audio

SoundEvents

Asset path: Server/Audio/SoundEvents/*.json

Parent

When set this asset will inherit properties from the named asset.

When inheriting from another SoundEvent most properties will simply be copied from the parent asset to this asset. In the case where both child and parent provide a field the child field will simply replace the value provided by the parent, in the case of nested structures this will apply to the fields within the structure. In some cases the field may decide to act differently, for example: by merging the parent and child fields together.

Type information: String

Tags

Tags are a general way to describe an asset that can be interpreted by other systems in a way they see fit.

For example you could tag something with a Material tag with the values Solid and Stone, And another single tag Ore.

Tags will be expanded into a single list of tags automatically. Using the above example with Material and Ore the end result would be the following list of tags: Ore, Material, Solid, Stone, Material=Solid and Material=Stone.

Type information:

(Nullable) Map of the following:

KeyType
any StringArray of String

Volume

Volume adjustment of the sound event in decibels.

Type information:

(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$

Pitch

Pitch adjustment of the sound event in semitones.

Type information:

(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$

StartAttenuationDistance

Distance at which to begin attenuation in blocks.

Type information:

(Nullable) Either Number defaults to: 2.0 or String that matches the pattern: ^(-?Infinity|NaN)$

MaxDistance

Maximum distance at which this sound event can be heard in blocks (i.e. the distance at which it's attenuated to zero).

Type information:

(Nullable) Either Number defaults to: 16.0 or String that matches the pattern: ^(-?Infinity|NaN)$

SpatialBlend

Controls spatial blending. At 1.0 the source is fully 3D (i.e. a point source). At 0.0 the source is fully diffuse (i.e. centered on the player). Only applies to Stereo Headphone mode.

Type information:

(Nullable) Either Number defaults to: 0.6000000238418579 or String that matches the pattern: ^(-?Infinity|NaN)$

MaxInstance

Max concurrent number of instances of this sound event.

Type information: Integer defaults to: 50

PreventSoundInterruption

Whether to prevent interruption of this sound event.

Type information: Boolean defaults to: false

Layers

The layered sounds that make up this sound event.

Type information:

Array of the type:

SoundEventLayer with the following properties:

KeyTypeDescription
Volume(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$

Volume offset for this layer in decibels.

StartDelay(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$

A delay in seconds from when the sound event starts after which this layer should begin.

FadeIn(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$

A fade-in duration in seconds over which this layer ramps from silence to full volume once it begins (after any StartDelay).

LoopingBoolean defaults to: false

Whether this layer loops.

ProbabilityInteger defaults to: 100

The probability of this layer being played when the sound event is triggered in percentage.

ProbabilityRerollDelay(Nullable) Either Number defaults to: 1.0 or String that matches the pattern: ^(-?Infinity|NaN)$

A delay in seconds before the probability of this layer playing can be rerolled to see if it will now play (or not play) again.

RandomSettings(Nullable)
RandomSettings

RandomSettings with the following properties:

KeyTypeDescription
MinVolume(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$

Minimum additional random volume offset in decibels.

MaxVolume(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$

Maximum additional random volume offset in decibels.

MinPitch(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$

Minimum additional random pitch offset in semitones.

MaxPitch(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$

Maximum additional random pitch offset in semitones.

MaxStartOffset(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$

Maximum amount by which to offset the start of this sound event (e.g. start up to x seconds into the sound). This should only really be used for looping sounds to prevent phasing issues.

Randomization settings for parameters of this layer.

FilesArray of String

Reference to a common asset in the folder:

  • Common/Sounds/
with the extension: *.ogg

The list of possible sound files for this layer. One will be chosen at random.

RoundRobinHistorySizeInteger defaults to: 0

The same sound file will not repeat within this many plays. 0 disables round-robin behavior.

AudioCategory

Audio category to assign this sound event to for additional property routing.

Type information: (Nullable) String

Reference to a AudioCategory asset

StateBindings

Subscribe this sound event to AudioState axes. Per-state volume deltas will be applied to all layers.

Type information:

(Nullable) Array of the type:

StateBindingConfig with the following properties:

KeyTypeDescription
AudioState(Nullable) String

Id of the AudioState this binding subscribes to.

Deltas(Nullable) Array of the type:
StateDeltaConfig

StateDeltaConfig with the following properties:

KeyTypeDescription
Value(Nullable) String

State value name this delta applies to.

VolumeDb(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$

Signed dB offset applied to voice gain when this state value is active. Ignored when Mute is true.

MuteBoolean defaults to: false

When true, forces the subscriber silent for this state value. Fading is still applied.

PitchSemitones(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$

Signed semitone offset applied to the subscriber's playback pitch when this state value is active. 0 = no change. 12 = one octave up, -12 = one octave down, -6 = half octave down (tritone), -60 = perceptually frozen / time-stop effect.

Fade(Nullable) StateFadeConfig

This subscriber's own ramp onto this state value, overriding field by field what the axis resolved. A transition override sent with the state change still outranks it. Omit so every subscriber moves together. Where more than one binding covers this axis, later ones refine earlier ones field by field. A later binding can set a field but cannot clear one back to the axis. Music composes ancestors, then the Segment, then the LayerPlacement, then the leaf container. A sound event composes its own before the AmbienceFX that plays it.

Per-state-value deltas. Unlisted values default to zero (no effect).

DuckingRules

While any layer of this SoundEvent is playing, each rule attenuates its TargetCategory.

Type information:

(Nullable) Array of the type:

AudioCategoryDuckingRuleConfig with the following properties:

KeyTypeDescription
TargetCategory(Nullable) String

Reference to a AudioCategory asset

Id of the AudioCategory this rule ducks.

DuckingVolumeDb(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$

Authored ducking target in dB.

AttackMs(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$

Milliseconds to tween from 0 dB (no duck) toward DuckingVolumeDb when the rule's source first becomes active. Zero snaps immediately.

HoldMs(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$

Milliseconds to hold the duck at DuckingVolumeDb after the source becomes inactive.

ReleaseMs(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$

Milliseconds to tween from the held duck value back toward the next-priority value. Zero snaps immediately.

Curve(Nullable) Any one of the following String (defaults to Linear):
FadeCurve
NameDescription
"Linear"
"Logarithmic"
"Exponential"
"SCurve"
"EqualPowerSine"

Curve applied to the Attack tween.

ReleaseCurve(Nullable) Any one of the following String (defaults to Linear):
FadeCurve
NameDescription
"Linear"
"Logarithmic"
"Exponential"
"SCurve"
"EqualPowerSine"

Curve applied to the Release tween.

PriorityInteger defaults to: 0

When multiple rules are active on the same target, only entries at the highest active priority contribute to the composite. Within a priority class, the most-negative dB wins.

BypassDucking

When true, this SoundEvent's voices ignore the ducking contribution of their routing category.

Type information: Boolean defaults to: false

On this page