The swap function for output device is declared in AudioMixerBlueprintLibrary.h. There is no similar function for inputs in the AudioCaptureBlueprintLibrary.h.
You’ll have to write your own blueprint function library in C++ that implements that function. You can possibly copy some code out of the “swap output” implementation, found in AudioMixerBlueprintLibrary.cpp but it looks like output devices are actually handled differently from input devices in the underlying code.
Honestly, I have a hard time even finding any C++ code that swaps these devices (in 5.2 code) – looks like it’s not really finished yet.
The closest I can find is OpenCaptureStream() which takes a specific device info, but there doesn’t seem to be any control over the defaults.
Ah, that’s annoying! Weird to me that this isn’t something that’s easily accessible, you’d think it would be for how many games use microphone input these days. Sad.
I’ll leave the thread open just case anyone has any other ideas or plugin suggestions. Thank you though!