Render sound to dedicated output channels of an audio device

As far as I understand from available information and from digging through the code, and trying to make it work myself, Endpoint Submix provides an interface to user to select options based on which your implementation routs/does something with audio stream.

  • In code you specify options, which may be a number of channels, send level, name of the device etc.
  • These options are exposed to the Editor and blueprints. I think you can then expose them to the end user in a built project as well.
  • In code you implement routing to endpoint devices based on those options. At the moment you have to deal with low level platform specific API (WASAPI, XAuidio2, CoreAudio etc.) in order to render audio stream to a device, or to implement some sort of haptic feedback based on the audio and selected options.

At the moment it looks like an abstract interface for many different use cases, if you’re able to extend it to your needs.
Even though a functionality to switch output audio device already implemented in the engine and has been for a long time, it is only for the case when Default system device changes, to hot switch to the new Default system device.

Endpoint Submix does seem like a placeholder, or more like a foundation for a new set of features, that’s necessary to place before building the walls. You can achieve similar results with Submix Effect.