---
title: PHASESoundEventNodeAsset
framework: phase
role: symbol
role_heading: Class
path: phase/phasesoundeventnodeasset
---

# PHASESoundEventNodeAsset

A template object for sounds that can play in reaction to environmental state.

## Declaration

```swift
class PHASESoundEventNodeAsset
```

## Overview

Overview This object refers by name to a collection of sound event nodes that connect to form a tree, or hierarchy. To retrieve an instance of this class, add a sound-event node definition to the asset registry using registerSoundEventAsset(rootNode:identifier:). Choose the rootNode argument from the subclasses in Sound Event Nodes based on the playback features your app requires. To play a single audio asset, register a rootNode with only one audio-providing node. Alternatively, to create a sound event that can change its audio based on your app’s current state, register a rootNode that contains children. By adding multiple nodes that play varying audio as children to a control node, PHASE plays the right audio for the moment based on control logic that you define. To create a playable sound event from this class, pass identifier to the assetIdentifier parameter of the sound event intializer, init(engine:assetIdentifier:). Then, invoke the sound event by calling start(completion:). As an opaque derived object, this class adds no properties to its base class.

## Relationships

### Inherits From

- [PHASEAsset](phase/phaseasset.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Audio Selection and Playback

- [PHASESoundAsset](phase/phasesoundasset.md)
- [PHASESoundEvent](phase/phasesoundevent.md)
- [PHASESoundEvent.RenderingState](phase/phasesoundevent/renderingstate-swift.enum.md)
- [PHASESoundEventNodeDefinition](phase/phasesoundeventnodedefinition.md)
- [PHASEAsset](phase/phaseasset.md)
- [Sound Event Nodes](phase/sound-event-nodes.md)
