---
title: PHASE
framework: PHASE
role: collection
role_heading: Framework
platforms: [iOS 15.0+, iPadOS 15.0+, Mac Catalyst 15.0+, macOS 12.0+, tvOS 17.0+, visionOS 1.0+]
path: phase
---

# PHASE

Create dynamic audio experiences in your game or app that react to events and cues in the environment.

## Overview

Overview Use PHASE (Physical Audio Spatialization Engine) to provide complex, dynamic audio experiences in your games and apps. With PHASE, you can control sound layers and adjust audio parameters in real time. As you develop your app, dynamic integration with your app’s visual scene enables audio to react to logic and visual changes automatically. The framework supports various audio hardware, which enables your app to provide a consistent spatial audio experience across platforms and output devices like headphones and speakers.

note: If the audio in your game or app doesn’t incorporate environmental events or cues, you can use AVFoundation or Core Audio. Integrate Audio with Visual Simulation Apps and games that model a detailed environment involve substantial revision during development. When you provide PHASE with a basic understanding of your app’s scene, audio plays in accordance with the scene’s characteristics. As you modify the scene, such as by adding a game level, the audio follows along by accommodating the level’s visual shape and properties. PHASE couples sound with visuals and minimizes your app’s audio maintenance by: Accepting scene geometry and reducing the volume of obstructed, sound-emitting scene objects. For example, PHASE lowers the volume of an incoming fireball when the player takes cover behind a wall. Offering complex sound events that play in reaction to your app’s runtime state. Adding sound effects that emanate from a shape. When you provide the shape of a scene object to PHASE, the sound’s volume scales based on the player’s distance and orientation relative to the shape. Adding reverberation and timed audio reflection to create environmental effects and simulate indoor scenes.

## Topics

### Essentials

- [Playing sound from a location in a 3D scene](phase/playing-sound-from-a-location-in-a-3d-scene.md)
- [Personalizing spatial audio in your app](phase/personalizing-spatial-audio-in-your-app.md)
- [PHASE updates](updates/phase.md)

### Setup

- [PHASEEngine](phase/phaseengine.md)
- [PHASEEngine.UpdateMode](phase/phaseengine/updatemode.md)
- [PHASEEngine.RenderingMode](phase/phaseengine/renderingmode.md)
- [PHASEAssetRegistry](phase/phaseassetregistry.md)
- [PHASENormalizationMode](phase/phasenormalizationmode.md)
- [PHASESpatializationMode](phase/phasespatializationmode.md)
- [PHASEReverbPreset](phase/phasereverbpreset.md)
- [PHASEMedium](phase/phasemedium.md)

### Soundscape Creation

- [PHASESource](phase/phasesource.md)
- [PHASEListener](phase/phaselistener.md)
- [PHASEOccluder](phase/phaseoccluder.md)
- [PHASEObject](phase/phaseobject.md)
- [PHASEShape](phase/phaseshape.md)
- [PHASEShape.Element](phase/phaseshape/element.md)
- [PHASEMaterial](phase/phasematerial.md)
- [PHASEMaterialPreset](phase/phasematerialpreset.md)
- [PHASEMixerParameters](phase/phasemixerparameters.md)

### Audio Selection and Playback

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

### Audio Layering and Effects

- [PHASEChannelMixerDefinition](phase/phasechannelmixerdefinition.md)
- [PHASEAmbientMixerDefinition](phase/phaseambientmixerdefinition.md)
- [PHASEMixerDefinition](phase/phasemixerdefinition.md)
- [PHASEMixer](phase/phasemixer.md)
- [PHASEDefinition](phase/phasedefinition.md)
- [Spatial Mixing](phase/spatial-mixing.md)

### Dynamic Sound Control

- [PHASEEnvelope](phase/phaseenvelope.md)
- [PHASEEnvelopeSegment](phase/phaseenvelopesegment.md)
- [PHASECurveType](phase/phasecurvetype.md)
- [PHASENumericPair](phase/phasenumericpair.md)
- [Playback Parameterization](phase/playback-parameterization.md)

### Sound Grouping and Management

- [PHASEGroup](phase/phasegroup.md)
- [PHASEGroupPreset](phase/phasegrouppreset.md)
- [PHASEGroupPresetSetting](phase/phasegrouppresetsetting.md)
- [PHASEDucker](phase/phaseducker.md)

### Errors

- [PHASE Errors](phase/phase-errors.md)

### Classes

- [PHASEPullStreamNode](phase/phasepullstreamnode.md)
- [PHASEPullStreamNodeDefinition](phase/phasepullstreamnodedefinition.md)
- [PHASEStreamNode](phase/phasestreamnode.md)

### Structures

- [PHASEAutomaticHeadTrackingFlags](phase/phaseautomaticheadtrackingflags.md)

### Type Aliases

- [PHASEPullStreamRenderHandler](phase/phasepullstreamrenderhandler.md)
