How to detect a mic in unreal

Hi, I’m quite new to the unreal engine and maybe not familiar enough with the engine itself

I’m currently trying to implement a proximity voice chat using a VOIP push to talk

The current problem that I can’t seem to fix right now is how to input my voice from microphone to the unreal engine for the VOIP, my mic works fine in all other application except unreal right now

Additionally, I’ve tried using audio capture component and use “On audio envelope value” event to print out if it detects any mic input, which of course as I expected, didn’t work as well

I already modifed some config files to enable the voice chat in unreal, as seen below

DefaultEngine.ini

[Voice]
bEnabled=true

[OnlineSubsystem]
bHasVoiceEnabled=true

DefaultGame.ini

[/Script/Engine.GameSession]
bRequiresPushToTalk=true

and enable the some audio engine in my ue4 Project
-Sound Utilities
-Synthesis and DSP effects


My code is just like this one, so I don’t think the code is wrong since I already checked it multiple times. It seems that there ain’t many documents about VOIP and voice communication, which give me a headache right now :frowning:

Any idea about my problem above? if you need any more info, please let me know!

Took long enough to create my first forum :frowning:

Anyway I found the answer on my part, the VOIP MUST be used in the unreal session system in order to work properly. Or else, you won’t hear anything.

Additionally, if the client join the host session via open {ip address} command, the ToggleSpeaking command won’t work as well. It seems that joining via join session node is an appropiate approach for this situation. I still do not understand how the find session node works though.

However it can still be quite troublesome to test it out with friends that aren’t in the LAN network (Visual Network like Hamachi doesn’t work as well) since you have to forward port or something like that in order to connect to each other.

Any better idea for testing, feels free to leave a comment!

1 Like

What about using a VPN tocreate the network link?