MetaSound Nodes
Custom MetaSound data types and nodes for the foley audio pipeline
MetaSound Nodes
The foley system provides a custom MetaSound data type and node for routing audio through slot banks.
FAgenticFoleyBank
Custom MetaSound data type that wraps a UAgenticFoleySlotBank proxy for use inside MetaSound graphs.
Registered as a MetaSound data type so SlotBank data can flow through MetaSound pins. The proxy implements IAudioProxyDataFactory for thread-safe access from the audio render thread.
AgenticBankSelector Node
Custom MetaSound node. Receives a trigger, picks a random wave from the active slot bank for the current event index, and outputs a FWaveAsset.
Inputs
| Pin | Type | Description |
|---|---|---|
Trigger | Trigger | Fire to select a wave. |
Bank | FAgenticFoleyBank | The slot bank proxy. |
EventIndex | int32 | Which event in the bank to pull from. |
Outputs
| Pin | Type | Description |
|---|---|---|
Wave | FWaveAsset | The randomly selected wave from the bank's event pool. |
OnTrigger | Trigger | Fires when a wave is selected. |
Audio Routing
The layered MetaSound preset (MSS_FoleyLayered) has 4 chains:
Layer 0 (Surface) — baked wave references from AudioBank
Layer 1 (Armor) — AgenticBankSelector reads SlotBank[0]
Layer 2 (Gear) — AgenticBankSelector reads SlotBank[1]
Layer 3 (Extra) — AgenticBankSelector reads SlotBank[2]The component pushes slot bank parameters to the AudioComponent after SpawnSoundAttached:
Layer1_Bank/Layer2_Bank/Layer3_Bank— the slot bank proxy objectsLayer1_EventIndex/ etc. — the resolved event index for the current foley eventLayer1_Volume/ etc. —BaseSlotGain * VolumeMultiplier
Shipped Presets
| Preset | Layers | Surface |
|---|---|---|
MSS_FoleyLayered | 4 (parent template) | N/A |
MSS_Concrete_Walk | 4 | Concrete Walk |
MSS_Concrete_Run | 4 | Concrete Run |
MSS_Concrete_Sprint | 4 | Concrete Sprint |
| ... | ... | 14 Concrete variants total |
The slot mixer (MSP_FoleySlotMixer) handles per-layer gain and mixing inside the MetaSound graph.