generate_lipsync_dialogue
Generate a lipsync dialogue performer — NPCs SPEAK their lines with MOVING MOUTHS: a sealed Component holding a [Property] line list (speaker GameObject name + text) that, per line, (a) mirrors the line into a generated create_dialogue_system HUD when one exists (loose TypeLibrary capability bind...
This record as markdown: /tools/sbox/generate-lipsync-dialogue.md
What generate_lipsync_dialogue does on Sbox
AI agents invoke generate_lipsync_dialogue to trigger actions in Sbox. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.
Why generate_lipsync_dialogue is rated High
Triggers speech synthesis and drives NPC mouth animations as external operations.
From the tool's definition NPCs SPEAK their lines, speaks text via Sandbox.Speech.Synthesizer positionally
Attacks that exploit this kind of access
The rule that runs generate_lipsync_dialogue safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Sbox, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For generate_lipsync_dialogue, this is the rule to start with:
generate_lipsync_dialogue stays usable, but rate-capped: a runaway agent can't fire it dozens of times a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Sbox, apply this rule, and every generate_lipsync_dialogue call is checked against it from then on.
Questions about generate_lipsync_dialogue
Generate a lipsync dialogue performer — NPCs SPEAK their lines with MOVING MOUTHS: a sealed Component holding a [Property] line list (speaker GameObject name + text) that, per line, (a) mirrors the line into a generated create_dialogue_system HUD when one exists (loose TypeLibrary capability bind: List<string> Lines + Begin() + bool IsActive — neither system references the other), (b) speaks the text via Sandbox.Speech.Synthesizer positionally AT the speaker (per-speaker voice name/gender/age/rate via the Voices list), (c) drives the speaker. It is categorised as a Execute tool in the Sbox MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.
Register the Sbox MCP server in PolicyLayer and add a rule for generate_lipsync_dialogue: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Sbox. Nothing to install.
generate_lipsync_dialogue is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.
Yes. Add a rate_limit block to the generate_lipsync_dialogue rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for generate_lipsync_dialogue. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
generate_lipsync_dialogue is provided by the Sbox MCP server (sbox-mcp-server). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Sbox, and thousands of servers like it.
This server
Across the catalogue