Rays can also be cast outwards from each voice to determine reverb properties for each voice. To enable this, set both `context.voiceReverbRayCount` and `context.voiceReverbBounceCount` to a value greater than 0. See: [[Creating a Raytracing Context#voiceReverbRayCount and voiceReverbBounceCount|Creating a Raytracing Context > voiceReverbRayCount]]. However, it's expensive to have many reverb effects active at one time. Audio APIs typically recommend having around 4 reverb effects maximum to prevent stuttering / glitches. Therefore the SDK will attempt to 'group' the voice's EAX properties together. The number of desired groups is controlled via the `context.blendedReverbPresetAmount` property. See the example below for accessing all computed EAX properties: ```cs List <Voice> voices = []; // Wait for raytracing to run once if (context.ReverbCalculated) { // Listener and Outside EAX properties are always calculated var diffusion = context.ListenerEAXReverb.Diffusion; var density = context.OutsideEAXReverb.Density; // Access grouped EAX foreach (var groupedEax in context.BlendedEAXReverb) { var gainLF = groupedEax.GainLF; } foreach (var voice in voices) { // Access a voice's raw EAX properties var decayTime = voice.eaxReverb.DecayTime; // Get the grouped EAX properties for this voice var index = voice.blendedEAXIndex; var groupedEax = context.BlendedEAXReverb[index]; // Check if we should use the outside EAX properties var useOutside = voice.useOutsideEAX; var outsideEax = context.OutsideEAXReverb; } } ```