AudioSourceData
Namespace: BP.Audipool
Type: class(sealed, serializable)
A serializable preset object for configuring Unity AudioSource instances. AudioSourceData can be reused, copied from existing sources, and applied to pooled or runtime-created audio sources.
This type exposes only high-level configuration intended for public API usage.
Properties
Resource & Routing
public AudioResource Resource { get; }
public AudioMixerGroup MixerGroup { get; }The audio resource and optional mixer group assigned to the source.
Audio Parameters
public int Priority { get; set; }
public float Volume { get; set; }
public float Pitch { get; set; }
public float PanStereo { get; set; }
public float SpatialBlend { get; set; }Controls playback priority, loudness, pitch, stereo panning, and 2D/3D blend.
All setters clamp values to Unity-safe ranges.
3D Parameters
public float DopplerLevel { get; set; }
public float Spread { get; set; }
public AudioRolloffMode RolloffMode { get; }
public float MinDistance { get; }
public float MaxDistance { get; }Controls 3D spatial behavior, distance attenuation, and Doppler effects.
Constructors
AudioSourceData()
Creates a new settings instance with sensible defaults suitable for general use.
AudioSourceData(AudioSource source)
Creates a new settings instance and copies all supported configuration from an existing AudioSource.
Methods
CopyFromSource(AudioSource source)
public void CopyFromSource(AudioSource source)Copies all supported audio-related properties from the given AudioSource into this settings object.
- Logs an error if
sourceis null
ApplyToSource(AudioSource source)
public void ApplyToSource(AudioSource source)Applies all stored settings to the given AudioSource.
- Logs an error if
sourceis null - Overwrites all relevant AudioSource parameters
Usage Examples
Creating from an AudioSource
var settings = new AudioSourceData(existingSource);Applying to a Pooled Source
settings.ApplyToSource(audioSource);