Thanks for your reply but that didn’t worked.
That would works If coreSystem.getNumDrivers retrieves all output devices no matter which output type is,
But at least in Unity version [v2.01.11] it only retrieves current OUTPUTTYPE devices.
So in order to get other OUTPUTTYPE devices I had to call coreSystem.setOutput then coreSystem.getNumDrivers.
But here comes the problem as It enumerates and initialize and fallback in the same time when coreSystem.setOutput called, it simply returns NO-SOUND device.
[with working asio devices]
[FMOD] SystemI::setOutputInternal : Setting output to 'FMOD WASAPI Output'
[FMOD] OutputWASAPI::init : Mix Format (WAVEFORMATEX): wFormatTag=0xFFFE, nChannels=2, nSamplesPerSec=48000, nAvgBytesPerSec=384000, nBlockAlign=8, wBitsPerSample=32, cbSize=22.
[FMOD] OutputWASAPI::init : Mix Format (WAVEFORMATEXTENSIBLE): wValidBitsPerSample=32, dwChannelMask=0x00000003, SubFormat=00000003-0000-0010-8000-00AA00389B71.
[FMOD] OutputWASAPI::init : Output buffer size: 1056 samples, latency: 0.00ms, period: 10.00ms, DSP buffer: 64 * 2
[FMOD] Thread::initThread : Init FMOD mixer thread. Affinity: 0x8000000000000001, Priority: 0xFFFF7FFA, Stack Size: 81920, Semaphore: No, Sleep Time: 0, Looping: Yes.
[Unity] setOutput to AUTODETECT : OK
[Unity] getNumDrivers : 1
[Unity] getDriverInfo Loop Count = 1
[Unity] DriverInfo WASAPI id = 0 / Speaker (Komplete Audio 2), Guid = 0f5612e2-300d-4e43-9f4d-6c060b515cd1, Systemrate = 48000, Speakermode = STEREO, channels = 2
[FMOD] SystemI::setOutputInternal : Setting output to 'FMOD ASIO Output'
[FMOD] OutputASIO::init : DSP buffer size = 64 supported by ASIO driver, low latnecy mode enabled.
[Unity] setOutput to ASIO : OK
[Unity] getNumDrivers : 2
[Unity] getDriverInfo Loop Count : 2
[Unity] DriverInfo ASIO id = 0 / Komplete Audio ASIO Driver, Guid = 1a6dd4e6-0947-4f56-b2d9-ed91a2a7d260, Systemrate = 48000, Speakermode = STEREO, channels = 2
[Unity] DriverInfo ASIO id = 1 / Realtek ASIO, Guid = a80362ff-ce76-4dd9-874a-704c57bf0d6a, Systemrate = 48000, Speakermode = STEREO, channels = 2
[with non-working asio devices]
[FMOD] SystemI::setOutputInternal : Setting output to 'FMOD WASAPI Output'
[FMOD] OutputWASAPI::init : Mix Format (WAVEFORMATEX): wFormatTag=0xFFFE, nChannels=2, nSamplesPerSec=48000, nAvgBytesPerSec=384000, nBlockAlign=8, wBitsPerSample=32, cbSize=22.
[FMOD] OutputWASAPI::init : Mix Format (WAVEFORMATEXTENSIBLE): wValidBitsPerSample=32, dwChannelMask=0x00000003, SubFormat=00000003-0000-0010-8000-00AA00389B71.
[FMOD] OutputWASAPI::init : Output buffer size: 1056 samples, latency: 0.00ms, period: 10.00ms, DSP buffer: 64 * 2
[FMOD] Thread::initThread : Init FMOD mixer thread. Affinity: 0x8000000000000001, Priority: 0xFFFF7FFA, Stack Size: 81920, Semaphore: No, Sleep Time: 0, Looping: Yes.
[Unity] setOutput to AUTODETECT : OK
[Unity] getNumDrivers : 1
[Unity] getDriverInfo Loop Count = 1
[Unity] DriverInfo WASAPI id = 0 / Speaker (Komplete Audio 2), Guid = 0f5612e2-300d-4e43-9f4d-6c060b515cd1, Systemrate = 48000, Speakermode = STEREO, channels = 2
[FMOD] SystemI::setOutputInternal : Setting output to 'FMOD ASIO Output'
[FMOD] OutputASIO::enumerate : CoCreateInstance returned 0x80040154 for driver 0.
[FMOD] OutputASIO::init : CoCreateInstance returned 0x80040154.
[FMOD] SystemI::setOutputInternal : Setting output to 'FMOD NoSound Output'
[FMOD] OutputNoSound::init : Initializing.
[FMOD] OutputNoSound::init : Done.
[Unity] setOutput to ASIO : OK
[Unity] getNumDrivers : 1
[Unity] getDriverInfo Loop Count : 1
[Unity] DriverInfo NOSOUND id = 0 / NoSound Driver, Guid = 00000000-0000-0000-0000-000000000000, Systemrate = 48000, Speakermode = STEREO, channels = 2