In there any up-to-date tutorial on how to create a C++ voice chat?

I’ve found one from 3 years ago, but it doesn’t seem to work anymore. FVoiceModule::Get().CreateVoiceCapture() always returns nullptr, in any PIE/Build configuration, even though I’ve done everything to the letter. CreateVoiceCapture() now requires additional parameters too, so I presume something else must’ve changed as well since the tutorial was published.

So if anyone has links to any newer sources, I’d really appreciate it.

Thank you!

Hi,

I found in this documentation that DeviceName can be left as an empty string “” to choose the default device: FVoiceModule::CreateVoiceCapture | Unreal Engine Documentation.

I also found in this forum that you need to add the following lines to DefaultGame.ini:

[/Script/Engine.GameSession]

bRequiresPushToTalk=false

The results I received after doing this, and following the tutorial briefly was that I did hear my voice but it seemed to be broken in a strange way; maybe I didn’t follow the tutorial correctly :D.

Maybe this thread will also be of good use to you: How can I make in game voice communication? - Audio - Unreal Engine Forums

I hope this information helps, and good luck :slight_smile:

Thank you for your comment!

Yes, leaving the DeviceName blank does help, CreateVoiceCapture() returns something, and it kind of captured my voice in a strange way, as you say it, but unfortunately that’s not enough, because there’s nothing about encoding, transmitting, and decoding voice data to other players.

As for the linked thread and the interfaces listed by @Crzyhomer, I can’t figure out with what I should communicate using these interfaces. For instance, I’ve found that VoiceCaptureWindows.h implements IVoiceCapture, but I can’t directly use it because it seems that I can’t #include it into my class. So I guess I have to Get() something somewhere and cast it to IVoiceCapture or other interfaces, but I don’t understand what exactly.

Yeah I was really hoping you would get better results than I did :/. Unfortunately, I am very new to this topic and can’t provide more information; sorry.