Ara
Download

Search or run a command

Jump to a section or open an Ara link.

Component · audio

AcousticSurface

Acoustic surface of static geometry or a collider. The physics ray adapter maps hit bodies to this component; absent components read as generic.

Fields

Named material; ignored when custom is set.
default "generic"

One ofgenericbrickconcreteceramicgravelcarpetglassplasterwoodmetalrock

custom

option<AcousticMaterial>
Explicit material values overriding the preset.
default null

Usage

Every edit is an undoable command: from the CLI as below, or the same JSON from an agent over MCP. See component.add and property.set.

Add it

ara do component.add -p entity=name:Crate -p component=AcousticSurface --why "Add AcousticSurface"

Set a field

ara do property.set -p entity=name:Crate -p path=AcousticSurface.preset -p value="generic" --why "Tune AcousticSurface"

In a scene document

{
  "AcousticSurface": {
    "preset": "generic"
  }
}

From C#

/// <summary>Give a wall concrete acoustic absorption.</summary>
public static void UseAcousticSurface(Entity entity, in Tick tick)
{
    ref var component = ref World.Get<AcousticSurface>(entity);
    component.Preset = MaterialPreset.Concrete;
}

From C#

Scripts read and write it with Get<AcousticSurface>(); see the AcousticSurface struct.