## [Essentials](Functions-(Essentials)) !> `FAudioGMS_Init()` and `FAudioGMS_Destroy()` are absolutely essential to FAudio playback. You should run `FAudioGMS_Init()` at the start of your game (usually on boot) and `FAudioGMS_Update()` should be run once every frame, usually in the Step event of a persistent instance. - [`FAudioGMS_Init(spatialDistanceScale, timestep)`](Functions-(Essentials)?id=faudiogms_initspatialdistancescale-timestep) - [`FAudioGMS_Update()`](Functions-(Essentials)?id=faudiogms_update) - [`FAudioGMS_Destroy()`](Functions-(Essentials)?id=faudiogms_destroy)   ## [Loading Sound Assets](Functions-(Loading-Sound-Assets)) - [`FAudioGMS_StaticSound_LoadWAV(filePath)`](Functions-(Loading-Sound-Assets)?id=faudiogms_staticsound_loadwavfilepath) - [`FAudioGMS_StaticSound_CreateSoundInstance(staticSoundID)`](Functions-(Loading-Sound-Assets)?id=faudiogms_staticsound_createsoundinstance) - [`FAudioGMS_StaticSound_Destroy(staticSoundID)`](Functions-(Loading-Sound-Assets)?id=faudiogms_staticsound_destroystaticsoundid) - [`FAudioGMS_StreamingSound_LoadOGG(filepath)`](Functions-(Loading-Sound-Assets)?id=faudiogms_streamingsound_loadoggfilepath)   ## [Sound Instances](Functions-(Sound-Instances)) - [`FAudioGMS_SoundInstance_Play(soundInstanceID, loop)`](Functions-(Sound-Instances)?id=faudiogms_soundinstance_playsoundinstanceid-loop) - [`FAudioGMS_SoundInstance_Pause(soundInstanceID)`](Functions-(Sound-Instances)?id=faudiogms_soundinstance_pausesoundinstanceid) - [`FAudioGMS_SoundInstance_Stop(soundInstanceID)`](Functions-(Sound-Instances)?id=faudiogms_soundinstance_stopsoundinstanceid) - [`FAudioGMS_SoundInstance_Destroy(soundInstanceID)`](Functions-(Sound-Instances)?id=faudiogms_soundinstance_destroysoundinstanceid) - [`FAudioGMS_SoundInstance_DestroyWhenFinished(soundInstanceID)`](Functions-(Sound-Instances)?id=faudiogms_soundinstance_destroywhenfinishedsoundinstanceid) - [`FAudioGMS_SoundInstance_SetPan(soundInstanceID, pan)`](Functions-(Sound-Instances)?id=faudiogms_soundinstance_setpansoundinstanceid-pan) - [`FAudioGMS_SoundInstance_SetPitch(soundInstanceID, pitch)`](Functions-(Sound-Instances)?id=faudiogms_soundinstance_setpitchsoundinstanceid-pitch) - [`FAudioGMS_SoundInstance_SetVolume(soundInstanceID, volume)`](Functions-(Sound-Instances)?id=faudiogms_soundinstance_setvolumesoundinstanceid-volume) - [`FAudioGMS_SoundInstance_Set3DPosition(soundInstanceID, x, y, z)`](Functions-(Sound-Instances)?id=faudiogms_soundinstance_set3dpositionsoundinstanceid-x-y-z) - [`FAudioGMS_SoundInstance_Set3DVelocity(soundInstanceID, xVelocity, yVelocity, zVelocity)`](Functions-(Sound-Instances)?id=faudiogms_soundinstance_set3dvelocitysoundinstanceid-xvelocity-yvelocity-zvelocity) - [`FAudioGMS_SoundInstance_SetTrackPositionInSeconds(soundInstanceID, trackPositionInSeconds)`](Functions-(Sound-Instances)?id=faudiogms_soundinstance_settrackpositioninsecondssoundinstanceid-trackpositioninseconds) - [`FAudioGMS_SoundInstance_SetVolumeOverTime(soundInstanceID, volume, milliseconds)`](Functions-(Sound-Instances)?id=faudiogms_soundinstance_setvolumeovertimesoundinstanceid-volume-milliseconds) - [`FAudioGMS_SoundInstance_SetLowPassFilter(soundInstanceID, lowPassFilter, Q)`](Functions-(Sound-Instances)?id=faudiogms_soundinstance_setlowpassfiltersoundinstanceid-lowpassfilter-q) - [`FAudioGMS_SoundInstance_SetHighPassFilter(soundInstanceID, highPassFilter, Q)`](Functions-(Sound-Instances)?id=faudiogms_soundinstance_sethighpassfiltersoundinstanceid-lowpassfilter-q) - [`FAudioGMS_SoundInstance_SetBandPassFilter(soundInstanceID, bandPassFilter, Q)`](Functions-(Sound-Instances)?id=faudiogms_soundinstance_sethighpassfiltersoundinstanceid-highpassfilter-q) - [`FAudioGMS_SoundInstance_GetPitch(soundInstanceID)`]() - [`FAudioGMS_SoundInstance_GetVolume(soundInstanceID)`]() - [`FAudioGMS_SoundInstance_GetTrackLengthInSeconds(soundInstanceID)`]() - [`FAudioGMS_SoundInstance_GetTrackPositionInSeconds(soundInstanceID)`]()   ## [Effect Chains](Functions-(Effect-Chains)) - [`FAudioGMS_EffectChain_Create()`](Functions-(Effect-Chains)?id=faudiogms_effectchain_create) - [`FAudioGMS_EffectChain_Destroy(effectChainID)`](Functions-(Effect-Chains)?id=faudiogms_effectchain_destroyeffectchainid) - [`FAudioGMS_EffectChain_AddDefaultReverb(effectChainID)`](Functions-(Effect-Chains)?id=faudiogms_effectchain_adddefaultreverbeffectchainid) - [`FAudioGMS_EffectChain_AddReverb(...)`](Functions-(Effect-Chains)?id=faudiogms_effectchain_addreverb) - [`FAudioGMS_SoundInstance_SetEffectChain(soundInstanceID, effectChainID, effectGain)`](Functions-(Effect-Chains)?id=faudiogms_soundinstance_seteffectchainsoundinstanceid-effectchainid-effectgain) - [`FAudioGMS_SoundInstance_SetEffectGain(soundInstanceID, effectGain)`](Functions-(Effect-Chains)?id=faudiogms_soundinstance_seteffectgainsoundinstanceid-effectgain) - [`FAudioGMS_SetMasteringEffectChain(effectChainID, effectGain)`](Functions-(Effect-Chains)?id=faudiogms_setmasteringeffectchaineffectchainid-effectgain) - [`FAudioGMS_SetMasteringEffectGain(effectGain)`](Functions-(Effect-Chains)?id=faudiogms_setmasteringeffectgaineffectgain)   ## [Global Behaviours](Functions-(Global-Behaviours)) - [`FAudioGMS_SetListenerPosition(x, y, z)`](Functions-(Global-Behaviours)?id=faudiogms_setlistenerpositionx-y-z) - [`FAudioGMS_SetListenerVelocity(xVelocity, yVelocity, zVelocity)`](Functions-(Global-Behaviours)?id=faudiogms_setlistenerpositionxvelocity-yvelocity-zvelocity) - [`FAudioGMS_PauseAll()`](Functions-(Global-Behaviours)?id=faudiogms_pauseall) - [`FAudioGMS_ResumeAll()`](Functions-(Global-Behaviours)?id=faudiogms_resumeall) - [`FAudioGMS_StopAll`](Functions-(Global-Behaviours)?id=faudiogms_stopall)