Skip to main content
TRACK A·SECURE AND LAUNCH·Verified June 2026 · Lua 5.4 · ox_lib 3.x
Learning with an AI assistant?
Copies this lesson plus 2026 ground rules (no lua54 'yes', Cfx.re Portal, correct callback signatures) as a ready-to-paste mentor prompt.
Module A3 · Operate & secure

Voice setup and troubleshooting

Voice is the feature players notice first. It is also the one that quietly breaks launches. The cause is rarely a mystery. It is usually a missing dependency, a mic permission, or a config that fights your framework. This lesson gets voice working and keeps it working.

You'll do
Get proximity voice working and fix the handful of issues that block it on launch day.
Time
~20 minutes.
You need
A running framework server and a voice resource (pma-voice is the common modern choice).
You'll learn
How FiveM voice works, how to install and configure pma-voice, the common blockers, and a fast troubleshooting order.
BEFORE YOU START

Get it working

Install pma-voice by itself

One voice resource starts with no errors.

Download the release from the official AvarianKnight/pma-voice repository. Put it in resources with the folder name pma-voice. It uses FiveM's built-in Mumble support, so do not install or run mumble-voip next to it. The pma-voice README says it does not work alongside other voice systems, including vMenu voice unless you turn that feature off.

code
ensure pma-voice

ensure is the server.cfg command that starts a resource (and restarts it if it is already running). Restart the server and watch the console. If another voice resource is running, stop it and remove its ensure line before you troubleshoot pma-voice. Only one voice resource may control the voice natives at a time.

Set the voice mode and audio path in config

The starting voice mode and audio behavior are what you want.

pma-voice is configured with convars in server.cfg. Start with the defaults and override only the values you mean to change.

code
# 1 = Whisper, 2 = Normal, 3 = Shouting
setr voice_defaultVoiceMode 2
setr voice_useNativeAudio false
setr voice_enableRadioAnim false

These lines do not set three distance numbers. voice_defaultVoiceMode picks the mode a player starts in. voice_useNativeAudio changes the audio path and is required for submixes. voice_enableRadioAnim only controls the radio animation. The talk, whisper, and shout ranges live in the resource's shared code. Changing those ranges means maintaining your own fork, not flipping a convar. Follow the README for the exact release you installed.

Confirm mic permission and device

Your voice is captured and sent.

In FiveM settings, set the correct input device and your push-to-talk key. Then allow microphone access at the operating-system level. A muted OS mic looks exactly like a broken server. Check this first.

Test with a second player

Two players hear each other by proximity.

Voice is hard to test alone. Bring a second client, or a friend, stand close, and confirm the audio fades out as you walk apart.

Keep reading the full lesson

Sign in to start, then unlock every step of this lesson and the full FiveM School with a membership.

Still ahead in this lesson
  • How it works
  • Troubleshooting order
  • What you can do now

The remainder of Voice setup and troubleshooting is available to FiveM School members.