Common Voice Chat Fixes in Unreal Engine 4

This guide will run through common voice chat fixes in Unreal Engine 4.

These fixes are for both normal voice chat and positional voice chat.

We will update this guide with new fixes as problems are reported.

If you have any issues with the voice chat comment down below as we try to help everyone!

Network Replication Advice

When dealing with multiplayer games, bandwidth and packet sizes have to be considered.

Sending too much too quickly (multi cast events on Event Tick) impacts network performance and prevents voice chat from being sent as the network is too saturated.

Make sure you consider every replicated variable, event and blueprint node that is run over the network.

Many problems can be fixed by optimizing your networking replication!

Common Issues and Fixes

No voice chat audio

  • Follow our voice chat tutorial exactly and make sure to double check each step.
  • Make sure you are using the multiplayer session system.
  • Make sure that both players have a working microphone plugged in.

    If those steps didn’t fix the problem try:
  • Following the “Stuttering or Robotic Sounding Voices” steps.

Stuttering or Robotic Sounding Voices

  • Reducing the number of replicated events running on Event Tick and on timers.
  • Make sure only essential events are replicated.
  • Reduce the amount of multi cast events.
  • Remove redundant parameters from replicated events.
  • Remove audio and texture parameters from multi cast events.
  • Lower your mic threshold value by -5

Voice chat only works on certain levels

  • Make sure your other maps have an actor that is setup for voice chat on a key press.
  • When changing levels make sure to use the servertravel command

    If those steps didn’t fix the problem try:
  • Following the “Stuttering or Robotic Sounding Voices” steps.
    Some levels in your game may include actors have poor replication performance.

Positional voice chat isn’t working

Share your thoughts

10 Replies to “Common Voice Chat Fixes in Unreal Engine 4”

  1. Hello,
    Thank you for your help.
    But I’ve a problem:

    When I start the game, the player possesses the BP_Player, and the Voice Chat sytem works fine.
    But at each death (I’m working on an FPS Shooter game), I need to destroy the BP_Player, spawn a new BP_PLayer, and possess it.

    There is the problem: as soon as I destroy the BP_Player, the system doesn’t work anymore. If I do not destroy the BP_Player, it works, but I can’t let all “dead” BP_Player wihout destroying them..

    Please help me, I’m bloked on this problem for a month now ;(

    Thank you a lot,
    Best Regards,
    Marius Chatillon

    (Contact me here if needed: marius.chatillon@gmail.com)

    1. Do you have the voice chat on and off code in your player or your controller?

      If the voice chat code is in the controller it shouldn’t break when the player character is deleted.

  2. Hello Matt,
    Thank you very much for you quick answer.

    I’ve all Voice Chat code in my Character.
    I started trying to set it in the player controller, but where I am supposed to attach the Voice settings (Instead of Camera or Capsule component, you know?)?

    Thank you a lot,
    Marius Chatillon

    1. Ah ok. I understand what you mean now. The code for the voice settings should be on Begin Play. When you destroy and respawn your character it will re run this code. Try putting a delay blueprint node with 0.2 seconds of delay before the voice chat code in begin play.

      1. I tried what you said, and even with a 10 second delay, it’s still weird..

        When I destroy my Player1, and spawn the Player2 (in my GameMode), set the settings, the sound seems to come from my past Player1.

        So, for example, I’m Player1, I’m talking in the bathrooms, all is fine.
        Then I switch the character to Player2, destroy the Player1, I talk, and the voice comes from the bathrooms (but I’m in the kitchen!).

        The settings seem not to be reset.

        Thank you a lot, your help is very precious to me.
        Thank you,
        Marius

          1. Player1 spawns at default pawn class, all works fine, the the GameMode destroys Player1, spawns Player2 (at another location), makes the players possess the spawned Player2, at Event Begin Play I set a 10 seconds delay, and the voice comes from past Player1 location..

            Did I forget something?
            Marius

  3. Hello Matt,
    I begin a new discussion here, because I couldn’t find the “reply” button to your answer.

    Exactly! Player1 and Player2 are not the same blueprint character, that’s it!
    To be more specefic, “BP_WaitingPlayer” is the lobby player, and when all players are connected, the GameMode spawns “BP_Player”, and make the players possess them. Then, after each death of “BP_Player”, a new BP_Player spawns, etc. until the end of the Game.

    BP_WaitingPlayer
    -> BP_Player -> BP_Player -> BP_Player … -> End of game

    If you want you can contact me at marius.hatillon@gmail.com, it would maybe be easier.
    This bug it the last one for my game, it is delaying the release of my game on ACT, so I would be ready to pay if necessary, thank you very much for your help.

    Marius

Leave a Reply

Your email address will not be published. Required fields are marked *