Opinion & Hot Takes Aug 17, 2026

Stop Shipping English-Only Roblox NPC VO After TTS Languages Expand 2026

Roblox english only voice is no longer the default after the Aug 11 2026 TTS language expand - audit surfaces, tier your lines, quote the 1 + 6 x CCU rate limit, and file a receipt.

By GamineAI Team

Stop Shipping English-Only Roblox NPC VO After TTS Languages Expand 2026

Pixel art shopkeeper NPC speaking English to a crowd of players whose speech bubbles differ, one crossed out

Here is the take: on August 11, 2026, Roblox text-to-speech started supporting ten languages in addition to English. From that day forward, shipping English-only NPC voice stopped being a default and became a decision — one you should be able to defend in writing, in a standup, in a partner call.

I am not saying every experience must voice every line in ten languages. I am saying the sentence “we only do English VO” now needs a reason next to it, and “we never thought about it” is not a reason. Most teams I watch do not have a reason. They have a habit.

This article is the refusal. It is not the multi-language TTS keep/hold evening, which teaches you the LocaleId-to-VoiceID smoke on a throwaway place. It is not the free localization toolkit listicle, which inventories the docs and utilities. This URL argues the position, gives you the audit that finds English-only leaks in a live experience, tiers which lines are worth speaking first, and hands you a script for saying no to “English is fine, everyone speaks English.”

Why this matters now

The update note is short and specific. Roblox amended the Text-to-Speech API full release announcement on August 11, 2026: the API “now supports 10 languages in addition to English: Spanish, German, Italian, French, Chinese, Hindi, Japanese, Arabic, Korean, and Portuguese.” The languages update thread carries the detail, and the Weekly Recap for August 10–14 pushed it in front of creators who do not read announcement threads.

Three things changed at once, and the combination is what removes your excuse:

  1. Coverage. Ten non-English languages, including the four largest non-English player blocks most Roblox experiences already serve.
  2. Capacity. The full-release post publishes the formula: max requests per minute per experience = 1 + 6 × number of concurrent users, with a 300-character cap per request. An experience with 10,000 CCU is allowed north of 60,000 requests per minute. Baseline utilization is free.
  3. Evidence. Creator Hub added Monitoring → Text-to-Speech dashboards showing request volume by API type and response/error rates by status code. You can now measure the thing instead of arguing about it.

Before August, “multi-language VO is expensive and unproven” was a defensible engineering position. After August, it is a claim that contradicts a published formula and a free dashboard. That is the whole argument. Everything below is how to act on it without overpromising.

What I am not claiming

  • Not that synthetic speech equals human voice acting. It does not.
  • Not that translation is free. Strings are labor; voice is the cheap part now.
  • Not that every bark deserves ten languages. Most deserve two or three.
  • Not that you should wire TTS to open player chat. See the moderation section.

The claim I am refusing

“Our players are mostly English speakers, so English-only VO is fine.”

Three problems with that sentence.

First, it is usually unmeasured. Teams say it without opening a locale breakdown. Player.LocaleId is right there. If your answer to “what share of sessions are non-English locale?” is a shrug, you do not have a player-base argument, you have a vibe.

Second, it confuses text with voice. Plenty of experiences already localize UI strings through localization tables and automatic translation, then narrate those same tutorials in English through TTS. The player reads Portuguese and hears British male #1. That is not “English-only by choice,” that is an inconsistency nobody audited.

Third, it borrows credibility from a cost that no longer exists. English-only used to mean “we cannot afford ten VO casts.” Nobody was ever going to hire ten casts for shopkeeper barks. The real comparison is synthetic English versus synthetic localized, and the delta there is a string table plus a VoiceID map — not a recording budget.

I have written this refusal pattern before for a different folklore: stop quoting the 90 FPS Steam Frame number and read Steamworks instead. Same disease, different platform. A team repeats a cost or requirement they never re-checked, and the docs quietly moved.

The excuse ladder

Every English-only defense I hear climbs one of these rungs. Here is what the primary sources actually say.

Excuse Reality check
“TTS only does English.” Ten additional languages shipped August 11, 2026 per the full-release update.
“The rate limits will kill us.” Published formula is 1 + 6 × CCU requests/minute per experience; 300 characters per request. Small experiences are constrained; mid-size ones are not.
“We cannot measure the impact.” Creator Hub Monitoring → Text-to-Speech shows request counts by API type and error rates by status code.
“Moderation risk is too high.” Text and audio output are filtered before processing by default. Risk concentrates in asset generation from player input — which you should not do anyway.
“It will make our experience Restricted.” Per the official FAQ, including TTS does not by itself change Content Maturity. Only unlimited open-ended AI conversation triggers Restricted.
“Our VoiceIDs are hardcoded, it is a rewrite.” It is a lookup table and one property assignment. See the keep/hold evening.
“Synthetic accents will embarrass us.” Legitimate — for flagship cinematics. Not for a vendor telling you a potion costs 40 coins.
“We do not have translated strings.” The honest one. Say this instead of the other seven.

Notice the ladder collapses to one real constraint: strings. Voice stopped being the bottleneck; text was always the bottleneck. Which is why the argument “we do not do localized VO” is usually a confession that you do not do localization, told in a way that sounds technical.

What TTS fixes and what it does not

Be honest in both directions or nobody will believe the pro-localization case either.

Fixes Does not fix
Voicing dynamic, per-player, per-state lines you could never pre-record Translation quality of the source strings
Voicing tutorials and accessibility narration that change every patch Cultural adaptation, idiom, humor, names
Voicing long-tail NPC barks nobody would fund a cast for Proper nouns and invented place names — staff have acknowledged unusual words are a known model limitation
Removing the “record a new WAV” tax on every dialogue edit Voice-direction nuance for a flagship cinematic
Accessibility for players who cannot or prefer not to read Your missing localization table entries

The proper-noun limitation deserves emphasis because it is the failure your community will screenshot. If your world is full of invented place names, TTS will mangle some of them in every language, English included. That is an argument for a pronunciation-tuning pass on key names, not an argument for English-only.

The audit — find where English-only leaks

Run this on a live experience in about 40 minutes. It is a read-only pass; you are counting surfaces, not shipping code. Beginners can do it with the Explorer window and a notebook.

Step 1 — Log locales. Add a temporary LocalScript that prints Players.LocalPlayer.LocaleId on join, or read your existing analytics locale split. Write down the top five non-English locales by session share. If you cannot get this in a day, that alone is the finding.

Step 2 — Inventory speech surfaces. Walk the experience and list every place a voice speaks. In most experiences it is five categories:

Surface Typical count Localized text today? Localized voice today?
Tutorial / onboarding narration 5–20 lines Often yes Almost never
NPC vendor / quest barks 20–200 lines Sometimes Almost never
System announcements (round start, events) 5–30 lines Often yes Almost never
Accessibility narration (UI read-out) Varies Yes if built Almost never
Error / warning voice cues 3–10 lines Rarely Almost never

Step 3 — Mark the mismatches. Any row where text is localized and voice is not is an inconsistency bug, not a feature gap. Fix those first — they are the cheapest wins and the most embarrassing to leave.

Step 4 — Count characters. Sum the characters of your tutorial and top-20 bark lines. Compare against the 300-character-per-request cap; anything longer must be split into multiple requests. This is where you learn whether your writing style is TTS-compatible before you promise anything.

Step 5 — Estimate request load. Take peak CCU, apply 1 + 6 × CCU, and compare to a realistic per-session play count. Most experiences discover they are nowhere near the ceiling; some chat-heavy ones discover they were planning something the limits were explicitly designed to prevent.

Step 6 — Write the finding. One paragraph: locale split, surface count, mismatch count, headroom. That paragraph is what you bring to the meeting instead of an opinion.

Tier your lines — the part most posts skip

“Localize everything” fails. Tier it.

Tier A — localize voice now. High-frequency, short, functional, already-translated lines: tutorial steps, round-start announcements, vendor prices, objective reminders. These are heard by every player, cost almost nothing per line, and are where synthetic delivery is least noticeable because the content is functional.

Tier B — localize voice next sprint. Repeated flavor barks for the NPCs players interact with most. Localize the top 20 by play count, not the whole script. Play count beats word count for prioritization every time.

Tier C — leave English (or leave silent). Flagship cinematic performances, comedy bits that depend on delivery, boss taunts with heavy idiom, and anything where a bad synthetic read is worse than a subtitle. Write down that this is a choice with a reason. That is what makes it defensible.

Tier D — do not voice at all. Player-authored text. Chat. Anything a stranger types. See moderation below.

A team that ships Tier A in two weeks and documents Tier C as deliberate is in a strictly better position than a team that argues about a full localization program for a quarter and ships nothing.

Rate-limit math you can quote in the meeting

The formula from the full-release post is worth internalizing because it changes the shape of the conversation:

max requests per minute per experience = 1 + 6 × concurrent users
max characters per request = 300 (both real-time and asset generation)

Work an example. At 200 CCU, you are allowed 1 + 6 × 200 = 1,201 requests per minute. If a typical session hears a voiced line every 30 seconds, 200 concurrent players generate roughly 400 requests per minute. You are at a third of the ceiling — and localizing those same lines into three languages does not multiply your request count, because each player still hears one line. That is the point people miss in the meeting: localization does not multiply requests, it re-routes them. A Spanish player hearing one Spanish bark is one request, exactly like the English bark they would have heard instead.

Where you do multiply cost is asset generation. GenerateSpeechAsset produces saved audio that counts against your existing audio upload quota, and per-language variants of the same line are separate assets. That is a real budget conversation — and a good reason to keep dynamic, per-player lines on the real-time path and reserve pre-generated assets for lines that never change.

Use the dashboards — argue with data

Creator Hub now exposes Monitoring → Text-to-Speech with two views: request volume broken down by API type (real-time versus asset generation), with a top line showing your CCU-derived ceiling, and response/error rates broken down by status code. Date range and interval are adjustable.

This matters for the opinion because it converts "localized VO is risky" into a measurable claim. Ship Tier A to one language, watch the error-rate panel for a week, and you either have a problem you can name by status code or you have a green chart to paste into the next planning doc. Teams that skip this step end up relitigating the same fear every quarter.

The parts that are genuinely restricted

I am arguing for localization, not recklessness. Four constraints deserve to be stated plainly, because a pro-localization post that hides them is not credible.

Client-only API. Roblox staff clarified in the release thread that text-to-speech is intended as a client-side API — audio is output on the client. Teams that architect server-side speech generation hit yields and errors and then blame the feature. Design your dialogue flow so the server decides what is said and the client speaks it.

Exploiter budget consumption. Because it is client-callable, a hostile client can burn your per-experience request budget. Gate speech triggers behind server-validated state where it matters, and treat a sudden request spike on the dashboard as a security signal, not just a performance one.

Asset generation moderation ownership. Real-time output and text are filtered by default, and for the real-time API you are not held responsible for rare violative output unless you deliberately engineer it. Saved assets are different: generated audio lands in your inventory, so moderation action attaches to your account. Roblox explicitly recommends against letting players type text that becomes a generated asset. Tier D exists for this reason.

Pronunciation. Uncommon words and proper nouns are a known weakness the team has said they are improving over time without a committed timeline. Budget a naming pass, or accept some mangling, or keep those specific lines text-only.

None of these are arguments for English-only. They are arguments for scoped localized voice — which is exactly what Tier A through Tier D encode.

When English-only is actually defensible

Three cases, and I will defend them with you:

  1. Tiny, single-market experiences where you have locale data showing a negligible non-English share and you have written that data down. Measurement makes the position legitimate.
  2. Flagship narrative work with directed human performances where synthetic localized reads would undercut the craft, and you localize subtitles instead. Voice stays English; text does not.
  3. Pre-launch prototypes where nothing is final. Just do not carry the habit into launch and then call it a strategy.

Notice all three require a sentence you could read aloud to a partner. "We never got around to it" is not on the list.

The CapEx four-liner

For the finance or publisher conversation:

  1. Scope — Tier A functional lines in the top two non-English locales by session share; Tier C documented as deliberate English.
  2. Cost — translation and QA labor for roughly 30–60 short strings; TTS baseline utilization itself is free within published rate limits, with paid expansion signposted via Roblox Extended Services in future.
  3. Evidence — locale split, surface audit, Monitoring dashboard error rate after one week, and two Play-captured recordings.
  4. Owner — a named localization lead who is also authorized to block "we are fully localized" from store copy until the audit is green.

That fourth line is the one that saves you. Most localization embarrassment is not a missing translation; it is a marketing claim that outran the build.

Two-week rollout (not an evening)

The keep/hold evening proves the mechanism in one sitting. This is what shipping looks like afterward.

Days Work Done when
1–2 Locale split + surface audit One paragraph of findings exists
3–4 Pick two target locales; extract Tier A strings String list frozen and counted against 300 chars
5–7 Translate Tier A; load localization tables Translator resolves entries with a pcall fallback
8–9 Map LocaleId → VoiceID from Creator Hub Map is dated; no invented IDs
10–11 Wire and Play-test both locales on real devices Two recordings captured
12 Watch Monitoring dashboard Error rate flat; requests under ceiling
13 Write Tier C rationale Deliberate English documented
14 File receipt; release marketing language reviewed No unearned "fully localized" claim

Fetch VoiceIDs from the Add text-to-speech tutorial on the day you wire them, and use the Localize with scripting guidance for GetTranslatorForPlayerAsync with a pcall and a locale-change listener. Do not paste a VoiceID table from a blog post — including this one — into production. Tables move.

The refusal script

Paste this in Discord or Slack when the habit reasserts itself:

Re: "English-only VO is fine"

Roblox TTS supports 10 languages besides English as of Aug 11 2026
(ES DE IT FR ZH HI JA AR KO PT). Baseline use is free; limit is
1 + 6 × CCU requests/min, 300 chars/request. Creator Hub has
Monitoring → Text-to-Speech dashboards.

Localizing does NOT multiply requests — each player still hears one line.

Ask before we keep English-only:
1) What is our non-English session share by LocaleId?
2) Which surfaces already have localized TEXT but English VOICE?
3) Which Tier A lines (tutorial, announcements, vendor) block on strings?

If the answer to (1) is "not sure", that's the work item.
Tier C English is fine — write down WHY.

It works because it does not moralize. It asks three answerable questions and concedes the legitimate case in the last line.

Failure modes

Symptom Cause Fix
Foreign voice reading English text VoiceID mapped, strings not translated Load localization tables first
Localized UI, English narration Nobody audited voice surfaces Run the five-category inventory
Silence on some clients Server-side speech attempt Move speech to client per staff guidance
Request spike, errors climbing Exploiter or unbounded trigger Server-validate triggers; read the dashboard
Long lines truncated or rejected Over the 300-character cap Split into multiple requests
Mangled place names Known proper-noun limitation Rename, respell phonetically, or keep text-only
Moderation action on your account Player text turned into saved assets Never generate assets from player input
Store page says "fully localized" Marketing outran the audit Owner-gated claim in the CapEx four-liner

What this article is not

If you need… Go here
A hands-on LocaleId → VoiceID smoke tonight TTS languages keep/hold
A free tool inventory for localization work 12 free Roblox TTS localization tools
Cross-platform localization QA tooling 18 free localization QA tools
General Roblox learning path Roblox guide
Somewhere to ask wiring questions Game dev Discord communities

This URL only argues the position and gives you the audit, the tiers, and the script.

Key takeaways

  1. Since August 11, 2026, Roblox TTS supports ten languages besides English, so English-only NPC voice is a decision that needs a written reason.
  2. The strongest English-only defenses collapse into one honest constraint: you do not have translated strings.
  3. Localized voice does not multiply your request count — each player still hears one line.
  4. The published ceiling is 1 + 6 × CCU requests per minute with 300 characters per request; most experiences have headroom they have never measured.
  5. Creator Hub Monitoring → Text-to-Speech turns "risky" into a chart with status codes.
  6. Text localized + voice English is an inconsistency bug, and it is the cheapest thing on your list to fix.
  7. Tier A (functional, high-frequency, already-translated) is where synthetic delivery is least noticeable and most valuable.
  8. Tier C English is legitimate for directed performance and idiom-heavy writing — if you document the reason.
  9. Never generate saved speech assets from player-typed text; moderation attaches to your account as the asset owner.
  10. TTS is a client-side API; design the server to decide what is said, not to say it.
  11. Proper nouns and invented names are a known model weakness; plan a naming pass rather than abandoning localization.
  12. Gate the phrase "fully localized" behind a named owner and a green audit, not behind enthusiasm.

FAQ

Does Roblox text to speech support languages other than English?

Yes. As of the August 11, 2026 update, the API supports ten languages in addition to English: Spanish, German, Italian, French, Chinese, Hindi, Japanese, Arabic, Korean, and Portuguese.

Is Roblox TTS free to use?

Baseline utilization is free, subject to published rate limits. The team has signposted paid expansion through Roblox Extended Services for experiences that outgrow the free limit.

What are the Roblox TTS rate limits?

A maximum of 300 characters per request, and requests per minute per experience calculated as 1 + 6 × concurrent users. Longer content must be split across multiple requests.

Will localizing my NPC voice multiply my API usage?

No. Each player hears one line regardless of language, so localization re-routes requests rather than multiplying them. Pre-generated assets are the exception, since per-language variants are separate saved assets against your audio quota.

Does adding text to speech make my experience Restricted?

No. Per the official FAQ, including a TTS component does not by itself change your Content Maturity rating. Only experiences allowing unlimited open-ended conversation with an AI model receive a Restricted rating.

Do I need to filter text before sending it to the TTS API?

Filtering of text and audio output happens by default before processing. You still should not allow player-typed text to become a saved generated asset, because moderation for saved assets attaches to your account.

Why does my server-side TTS call hang?

Text-to-speech is intended as a client-side API. Roblox staff clarified this in the release thread; move speech playback to the client and let the server decide what should be spoken.

How do I know which languages my players actually need?

Read Player.LocaleId and look at your session split before committing. A measured locale breakdown is what turns an English-only decision from a habit into a defensible position.

Why does TTS mispronounce my location names?

Uncommon words and proper nouns are an acknowledged limitation of the model, which the team has said improves over time without a committed timeline. Respell phonetically, rename, or keep those lines text-only.

Should I use synthetic voice for my main story cinematic?

Usually no. Directed human performance still wins for flagship narrative. Localize subtitles there and spend synthetic voice on tutorials, announcements, and high-frequency barks.

What is the fastest meaningful first step?

Find every surface where your text is already localized but the voice is English, and fix those. It is a consistency fix, the strings already exist, and it is visible to exactly the players you were ignoring.

How is this different from the TTS keep/hold article?

That article walks one evening of hands-on wiring and a KEEP/HOLD decision. This one argues why English-only is no longer a neutral default and gives you the audit, tier list, rollout, and refusal script to change it.

Related reading