Roblox Speech to Text and custom matchmaking explained, plus where rewarded ads fit your economy

Gaming 51 views 0 likes 0 comments
Roblox Speech to Text with an avatar and icons, signaling updates for custom matchmaking and rewarded video.
Alex david du Selfie

By Alex David Du · Published

Alex writes about gaming, tech, and simple online income ideas, and builds projects that bring ideas to life.

Roblox just dropped three updates that actually change how we build. Speech to Text is here in beta, Custom Matchmaking is open to every experience, and Rewarded Video ads got a bigger rollout with new controls. Here is what matters, what to flip on, and how to use all three without annoying your players.

What actually changed on Roblox this month

Speech to Text lets you turn short voice clips into text you can script against. That is the reverse of text to speech, where text becomes spoken audio. Custom Matchmaking lets you set how players get placed into servers using editable weights and two custom signals you define. Rewarded Video is available to more creators with a prelaunch forecaster, better reporting, and a toggle to limit ads for likely payers. Together, that is better comms, cleaner lobbies, and a steadier monetization lane.

Why Speech to Text matters in real matches

A lot of players never touch voice chat, or they play with sound off. Converting speech to text helps them see callouts and join the plan. It also lets you build voice actions that feel natural. Say “heal,” spend an item. Say “open,” trigger a lever. Accessibility benefits are a bonus. Caption boss lines, subtitle cutscenes, or let a player who cannot type trigger quick commands.

How to wire up AudioSpeechToText in Studio

Open your place in Studio. Go to File, Game Settings, Communication, then enable Microphone. That switch also turns on Voice Chat by default. If you only want Speech to Text, disconnect the player’s AudioDeviceInput from their AudioEmitter, or turn off EnableDefaultVoice in VoiceChatService. Keep UseAudioApi on. Integrate the API in a script and send short audio snippets from the mic. You get back text you can route into your own logic. There are monitoring dashboards on Creator Hub under Monitoring, Speech to Text so you can check volume, limits, and error rates.

What gets filtered, and what you still need to gate

Transcribed text goes through Roblox text filtering before anyone sees it. That helps catch slurs and personal info, and it keeps your captions and command words inside policy. You still own game side safety. Add command cooldowns, limit where voice commands work, and never let a voice string run raw code or admin actions. If you show captions, give players control to hide or resize them.

Voice flows that help players, not distract them

Make it obvious when the mic is hot. Use a hold to speak input or a big on screen button on mobile. Keep commands short and distinct so the recognizer can separate them from background audio. Build a tiny confirmation, like a toast that says “Heal used,” and a way to cancel if the text was wrong. For social spaces, caption proximity voice. For team games, show transcription only to the squad. In both cases, allow a mute all voices toggle.

Custom Matchmaking in plain words

Roblox scores candidate servers for a player using signals. You decide which signals matter more, like latency, language, device type, and party size. You can also add two custom signals from your own data, for example a skill rating or whether a server is in intermission. The system picks the highest scoring server. If nothing fits after a short wait, it relaxes constraints so people do not get stuck at the door.

Build your first matchmaking profile, a working example

Start simple. In your experience dashboard, open Custom Matchmaking and create a new configuration. Set higher weight on Latency if your game is twitchy. Boost Language if teamwork and chat matter. Keep Party Size weight high enough to keep friends together. Leave other weights near the defaults for the first pass. Roll it to a small percentage, check playtime and average ping, then ramp.

Here is a starting point you can tweak:

  • Latency, 0.5

  • Language, 0.3

  • Party Size, 0.2

  • Device Type, 0.1

This totals more than one once you add custom signals later, which is fine because the system cares about relative weights. The point is to show intent. If ping is king, it should be the largest single weight.

Two custom signals that make sense for your game

SkillRating. Keep a number on each player that moves up on wins and down on losses, with bigger jumps against tougher opponents. Save it to your data store and feed it as a custom matchmaking signal. Give it a meaningful weight for ranked queues. In casual queues, keep it lighter so parties still land together.

Intermission. Servers between rounds are great for new joins. Publish a boolean from the server that says whether it is safe to drop a player in without a long wait. Map true to a high score for a few seconds after a match ends so fresh players hit the next round faster.

Smarter lobbies, keep friends together and pings low

Let parties queue as a unit and keep them together during teleports. If your game spans regions, do not force a single fixed region. Prefer the party leader’s region if the ping difference is small, otherwise favor the lowest average ping across the group. If input method fairness matters, give a small weight to Device Type so touch players are not dumped into lobbies full of mouse and keyboard sweats.

Balance match quality with wait time

Quality and speed pull against each other. A simple rule works. Hold strict rules for the first 15 seconds, then ease them a little every 10 seconds after that. Raise the acceptable ping window, widen skill buckets, and loosen language clustering. Use the built in preview tool to see how your setting changes would score mock data before you ship them, then run an experiment to confirm.

Where rewarded ads belong in your economy

Treat ads like a relief valve, not a toll booth. The best slots are after failure or at natural pauses. A revive, a bonus spin, a timed boost. Put the button where the player is already making a choice. Never make watching an ad the only way to progress. Players who pay should still feel respected, and players who never pay should still have something to do.

Pick the right reward and cooldown

Anchor the value to your existing prices so the exchange feels fair. If a revive costs a small amount of currency, make the ad reward cover one revive, not a whole loadout. Add a cooldown so a player cannot chain ads back to back. A common pattern is one ad per feature every 10 to 20 minutes, with a session cap around three. Use the forecaster in Monetization, Ads to sanity check expected views per user, then watch EPM, fill rate, and impressions per eligible DAU after launch. If payers dip, flip the control that limits ads for likely payers.

Guardrails, age checks and policy you cannot ignore

Microphone access requires age verification, so expect a portion of your audience to be voice off. Keep a text fallback for critical actions. Rewarded Video only shows to players 13 and up and your experience must be public and meet the eligibility checklist. You cannot reward Robux for watching an ad. Follow the Advertising Standards and keep ads out of content that invites uncontrolled user generated text or AI interactions. If you collect any custom signals, store only what you need for matchmaking and purge stale data on a schedule.

Copy‑paste starter settings for STT, matchmaking, and ads

Speech to Text quick setup

  • Studio, File, Game Settings, Communication, Enable Microphone

  • In a server script:

-- Voice toggles for STT only usage
local VoiceChatService = game:GetService("VoiceChatService")
VoiceChatService.EnableDefaultVoice = false  -- keep voice chat off if you only want STT
VoiceChatService.UseAudioApi = true          -- required for audio capture APIs
  • Keep audio chunks short. The API expects short clips and returns a transcript after the clip ends.

  • Watch your limits in Monitoring, Speech to Text. If you see frequent 429s, back off requests or sample less often.

Matchmaking starter weights

Latency:        0.5
Language:       0.3
Party Size:     0.2
Device Type:    0.1

# Custom signals you add
SkillRating:    0.4
Intermission:   0.2

Max wait before easing rules: 15s
Easing step: every 10s

Rewarded Video starter plan

  • Placement, after fail screen, button reads “Watch an ad to revive.”

  • Cooldown, 15 minutes per player for revive rewards. Cap at 3 revives from ads per session.

  • Reward type, a single revive or a small timed boost. Never Robux.

  • Personalization, enable the option to limit ads for likely payers if in app spend drops.

  • Reporting, track impressions per eligible DAU, fill rate, earnings per thousand impressions, and ad views per user.

What to watch after launch, and how to test changes

For Speech to Text, check request volume against limits, error rates, and average time to transcript. For matchmaking, monitor ping distribution, average time to match, and retention for first time players. For ads, watch payer conversion, ARPU excluding ads, and ad views per user. Use the Experiments tab to A or B test matchmaking profiles, then roll the winner to everyone. For ads, experiment with placement timing and cooldowns, one change at a time.

If you apply the settings above, you get clearer comms for players who do not use voice, tighter lobbies for new and competitive players, and a way to monetize breaks without putting a toll in the middle of the fun.

Comments

No comments yet.

Please log in to leave a comment.