GGua REFERENCE日本語GitHub ↗
GUIDE / AGENT POLICY

Expose only the information an AI agent needs to play

An agent exposure policy lets the game decide which UI and World information an AI player may see and which UI operations it may use. Complete developer Debug data remains available locally while hidden objects, internal values, and Debug logs stay out of the AI-facing view.

Apply the same safe view everywhere data reaches the AI

The safe view applies to tree reads, searches, waits, diagnostics, recording/replay, and UI action authorization. A private object looks the same as an object that does not exist. The game rechecks an action immediately before execution, so authority from an older policy or scene does not survive a change.

Choose what the AI can see

Hide complete objects

Mark a UI or World subtree private to remove that object and its descendants from the AI-player view. UI also needs effective ancestor visibility; World objects need player visibility and active ancestors.

Reduce individual fields

Use omit, redact, type-preserving replace, or numeric quantize to reduce detail. An action allowlist can also restrict which UI operations are available.

Engine configuration

Godot UI controls use gua_agent_exposure, gua_agent_field_rules, and gua_agent_allowed_actions; World objects use matching gua_world_agent_* metadata. In Unity, add GuaAgentPolicyComponent to uGUI or World objects, or register a policy for UI Toolkit/custom adapters.

Authorize visible information and gameplay input separately

Agent exposure policy

Controls which UI and World information an AI player can see and which UI buttons or other UI operations it may use.

Game-input permission

Separately controls whether the AI may invoke jump or move, or directly operate the keyboard and pointer.

Showing an enemy's position does not automatically let the AI move the character. Likewise, enabling keyboard input for a developer Debug Inspector does not grant it to an AI player using WebMCP. Explicitly allow Player Semantic Game Actions in the game, and enable Raw Input separately only when device-level input testing is required.