Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LOGGINGNoEnable console loggingfalse
UNITY_HOSTNoUnity WebSocket server hostlocalhost
UNITY_PORTNoUnity WebSocket server port8090
RAG_DB_PATHNoPath to RAG database
LOGGING_FILENoEnable file loggingfalse
RAG_PYTHON_PATHNoPath to Python executable
RAG_SERVER_PATHNoPath to RAG server directory

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
execute_menu_itemB

Executes a Unity menu item by path

select_gameobjectA

Sets the selected GameObject in the Unity editor by path, name or instance ID

add_packageA

Adds packages into the Unity Package Manager

add_external_dllA

Downloads a raw DLL (or any binary asset) from a URL and installs it under the Unity project's Assets//. Use this for native plugins, NuGet DLLs, and CDN-hosted libraries that aren't published as Unity packages — e.g. zxing.unity.dll, Newtonsoft.Json.dll, custom .so/.aar bundles. The Node MCP server downloads the URL to a temp file and asks the Unity Editor to copy it into the Assets tree and refresh the AssetDatabase. Use add_package (source=github) for git-hosted UPM packages instead.

run_testsC

Runs Unity's Test Runner tests

send_console_logB

Sends console log messages to the Unity console

get_console_logsA

Retrieves logs from the Unity console with pagination support to avoid token limits

update_componentA

Updates component fields on a GameObject or adds it to the GameObject if it does not contain the component

add_asset_to_sceneA

Adds an asset from the AssetDatabase to the Unity scene

update_gameobjectA

Updates properties of a GameObject in the Unity scene by its instance ID or path. If the GameObject does not exist at the specified path, it will be created.

create_prefabB

Creates a prefab with optional MonoBehaviour script and serialized field values

create_sceneB

Creates a new scene and saves it to the specified path

delete_sceneA

Deletes a scene by path or name and removes it from Build Settings

load_sceneB

Loads a scene by path or name. Supports additive loading (default: false)

recompile_scriptsB

Recompiles all scripts in the Unity project.

get_gameobjectA

Retrieves detailed information about a specific GameObject by instance ID, name, or hierarchical path (e.g., 'Parent/Child/MyObject'). Returns all component properties including Transform position, rotation, scale, and more.

delete_gameobjectA

Deletes a GameObject from the scene by path, name, or instance ID

duplicate_gameobjectB

Duplicates a GameObject in the scene, optionally with a new name

play_modeA

Controls Unity Editor play mode: enter, exit, pause, unpause, step, or get current state

manage_assetB

Manages assets in the project: move, delete, rename, copy, create_folder, get_path

find_gameobjectsA

Finds GameObjects in the scene by name pattern, tag, layer, or component type

editor_selectionB

Gets or sets the current Unity Editor selection (GameObjects, assets, etc.)

search_unity_knowledgeA

Search the Unity knowledge base for relevant documentation and assets.

Args: query: The search query string to find relevant Unity knowledge. filter_source: Optional filter to limit results by source type. Valid values: 'api', 'manual', 'local_asset', 'reach_ui'. If not provided, searches all sources.

Returns: Formatted string containing relevant search results with source info.

project_settingsA

Manages Unity Project Settings including PlayerSettings, QualitySettings, GraphicsSettings, PhysicsSettings, and more. Actions: get (read settings), set (modify settings), list_categories (show available categories). Categories: player, quality, graphics, physics, time, audio, editor, input, tags_layers, preset_manager

script_managementB

Manages Unity scripting configuration including:

  • Scripting Define Symbols (#define directives)

  • Assembly Definitions (asmdef files)

  • Script Execution Order

  • Script compilation state Actions: get_defines, set_defines, add_define, remove_define, get_assemblies, create_assembly, get_execution_order, set_execution_order, get_compilation_state

profilerC

Controls Unity's Profiler for performance analysis. Actions:

  • start: Begin profiling session

  • stop: End profiling session

  • get_frame_data: Get detailed frame timing data

  • get_memory_snapshot: Capture memory usage snapshot

  • get_render_stats: Get rendering statistics (draw calls, triangles, batches)

  • get_cpu_usage: Get CPU time breakdown by area

  • get_gc_allocs: Get garbage collection allocations

  • save_report: Save profiler data to file

  • clear: Clear profiler data

build_pipelineC

Comprehensive Unity build pipeline control. Actions:

  • build: Execute a build with specified settings

  • get_settings: Get current build settings

  • set_settings: Modify build settings

  • get_scenes: Get scenes in build settings

  • set_scenes: Set scenes in build settings

  • get_report: Get last build report (sizes, errors, warnings)

  • get_player_settings: Get platform-specific player settings

  • set_player_settings: Modify player settings

  • switch_platform: Switch active build target

  • get_platforms: List available build platforms

  • validate: Validate build configuration without building

editor_controlB

Controls Unity Editor windows and UI elements. Actions:

  • focus_window: Focus a specific editor window (Inspector, Hierarchy, Project, Scene, Game, Console, Profiler)

  • get_windows: List all open editor windows

  • open_window: Open an editor window

  • close_window: Close an editor window

  • inspector_lock: Lock/unlock the Inspector

  • inspector_mode: Set Inspector to Normal or Debug mode

  • ping_asset: Ping/highlight an asset in the Project window

  • frame_selected: Frame selected object in Scene view

  • set_scene_view: Configure Scene view settings (2D, orthographic, etc.)

  • get_editor_state: Get current editor state (play mode, paused, compiling, etc.)

  • refresh: Force refresh of Project window and AssetDatabase

  • clear_console: Clear the Console window

  • take_screenshot: Capture editor window screenshot

undo_redoA

Controls Unity's Undo/Redo system. Actions:

  • undo: Perform undo operation

  • redo: Perform redo operation

  • get_history: Get undo/redo history stack

  • clear: Clear all undo history

  • begin_group: Begin an undo group (combine multiple operations)

  • end_group: End an undo group

  • set_group_name: Set name for current undo group

  • record_object: Record object state for undo

  • flush: Flush all recorded operations

watch_consoleA

Monitors the Unity console for new logs with filtering and waiting capabilities. Perfect for recursive iteration - wait for specific messages, errors, or compilation results. Actions:

  • wait_for_message: Block until a message matching pattern appears (with timeout)

  • wait_for_error: Block until an error occurs (with timeout)

  • wait_for_silence: Block until no new logs for specified duration

  • wait_for_compilation: Block until scripts finish compiling

  • wait_for_play_mode: Block until play mode state changes

  • get_new_logs: Get logs since last check (uses internal cursor)

  • reset_cursor: Reset the log cursor to current position

debuggerB

Unity debugging utilities for inspection and troubleshooting. Actions:

  • evaluate_expression: Evaluate a C# expression in the current context

  • get_stack_trace: Get current stack trace (when paused or from last exception)

  • list_breakpoints: List all breakpoints (requires external debugger)

  • dump_object: Get detailed dump of an object's fields and properties

  • invoke_method: Invoke a method on a GameObject or component

  • get_static_field: Get value of a static field from a type

  • set_static_field: Set value of a static field

  • call_static_method: Call a static method on a type

  • debug_log: Log structured debug information

  • get_component_values: Get all serialized values from a component

asset_importA

Manages Unity asset import settings and reimport operations. Actions:

  • get_settings: Get import settings for an asset

  • set_settings: Modify import settings

  • reimport: Force reimport an asset

  • reimport_all: Reimport all assets (use with caution)

  • get_importer_type: Get the importer type for an asset

  • apply_preset: Apply an import preset to an asset Types: texture, model, audio, video, font, shader, plugin

animationB

Controls Unity Animation and Timeline systems. Actions:

  • play: Play animation on a GameObject

  • stop: Stop animation

  • pause: Pause animation

  • sample: Sample animation at specific time

  • get_clips: List animation clips on an Animator

  • get_parameters: Get Animator parameters

  • set_parameter: Set an Animator parameter (float, int, bool, trigger)

  • get_state_info: Get current Animator state info

  • crossfade: Crossfade to an animation state

  • get_timeline_state: Get Timeline playback state

  • set_timeline_time: Set Timeline playback position

  • play_timeline: Control Timeline playback

  • record_animation: Start/stop animation recording

  • create_clip: Create a new animation clip

physicsB

Unity Physics system control and queries. Actions:

  • raycast: Perform a raycast and return hit info

  • raycast_all: Raycast returning all hits

  • spherecast: Sphere-based raycast

  • boxcast: Box-based raycast

  • overlap_sphere: Find colliders in a sphere

  • overlap_box: Find colliders in a box

  • simulate: Step physics simulation manually

  • get_contacts: Get contact points between colliders

  • set_gravity: Set physics gravity

  • get_layer_collision: Get layer collision matrix

  • set_layer_collision: Set layer collision matrix

  • add_force: Add force to a Rigidbody

  • add_torque: Add torque to a Rigidbody

  • set_velocity: Set Rigidbody velocity

  • get_rigidbody_state: Get Rigidbody physics state

material_shaderC

Manages Unity materials and shaders. Actions:

  • get_material: Get material properties from a renderer

  • set_material_property: Set a material property value

  • create_material: Create a new material

  • assign_material: Assign material to a renderer

  • get_shader_properties: List all properties of a shader

  • get_available_shaders: List available shaders

  • set_shader: Change shader on a material

  • copy_material: Copy material properties

  • get_global_shader_property: Get global shader property

  • set_global_shader_property: Set global shader property

  • get_keywords: Get enabled shader keywords

  • enable_keyword: Enable a shader keyword

  • disable_keyword: Disable a shader keyword

lightingC

Controls Unity lighting and rendering environment. Actions:

  • get_settings: Get current lighting settings

  • set_settings: Modify lighting settings

  • bake_lighting: Start lightmap baking

  • cancel_bake: Cancel ongoing bake

  • get_bake_status: Get baking progress

  • clear_baked_data: Clear baked lighting data

  • get_light_probes: Get light probe data

  • update_light_probes: Refresh light probes

  • set_ambient: Set ambient lighting

  • set_fog: Configure fog settings

  • set_skybox: Set skybox material

  • get_reflection_probes: Get reflection probe data

  • render_reflection_probes: Re-render reflection probes

unity_hubA

Controls Unity Hub to create projects, manage installations, and open projects. This tool works INDEPENDENTLY of the Unity Editor connection. Editor installs use the Unity Hub CLI; project creation and template listing use the installed Editor and its bundled templates directly (the Hub CLI has no create/templates subcommands).

Actions:

  • create_project: Create a new Unity project

  • open_project: Open an existing project in Unity Editor

  • list_projects: List recent projects from Unity Hub

  • list_installations: List installed Unity Editor versions

  • install_editor: Install a Unity Editor version

  • add_module: Add a module to an installed editor (Android, iOS, WebGL, etc.)

  • list_templates: List available project templates

  • get_hub_path: Get the Unity Hub installation path

Note: Unity Hub must be installed. Default paths:

  • Windows: C:\Program Files\Unity Hub\Unity Hub.exe

  • macOS: /Applications/Unity Hub.app/Contents/MacOS/Unity Hub

  • Linux: ~/Unity Hub/UnityHub.AppImage

asset_storeA

Manages Unity Asset Store assets and Package Manager integration.

Actions:

  • list_my_assets: List all purchased/acquired assets from your Asset Store account

  • search_my_assets: Search your purchased assets by name

  • get_asset_details: Get details about a specific asset

  • download_asset: Download an asset to the local cache

  • import_asset: Import a downloaded asset into the project

  • download_and_import: Download and import in one step

  • get_download_progress: Check download progress

  • cancel_download: Cancel an ongoing download

  • list_cached_assets: List assets already downloaded to local cache

  • clear_cache: Clear the asset cache

  • refresh_my_assets: Refresh the list of purchased assets from server

  • search_store: Search the public Unity Asset Store catalog (no auth required)

Note: Most actions require Unity 2020.1+ and being logged into Unity Hub/Editor. search_store and list_cached_assets work without authentication. Assets must be purchased through the Asset Store website before downloading.

execute_codeA

Execute arbitrary C# code in the Unity Editor context. This is the most powerful tool — it can do anything the Unity Editor API allows.

The code runs with full access to UnityEngine, UnityEditor, System, and all project assemblies.

For simple expressions, just provide the expression (e.g., "Selection.activeGameObject.name"). For multi-statement code, write full C# statements. A return statement determines the output. For void operations, the code runs and any Debug.Log output is captured.

Pre-imported namespaces: System, System.Collections.Generic, System.Linq, System.Reflection, System.IO, UnityEngine, UnityEditor, UnityEditor.SceneManagement, UnityEngine.SceneManagement, UnityEngine.UI

Examples:

  • "PlayerSettings.productName" → returns product name

  • "GameObject.FindObjectsOfType().Length" → returns camera count

  • "var go = new GameObject("MyObject"); return go.name;" → creates object, returns name

  • "Debug.Log("Hello"); return Selection.objects.Length;" → logs + returns count

file_operationsA

Read, write, list, and search files within the Unity project.

Actions:

  • read: Read the contents of a file (scripts, shaders, configs, etc.)

  • write: Write/create a file in the project (auto-imports to AssetDatabase)

  • list: List files in a directory with optional pattern filtering

  • exists: Check if a file or directory exists

  • search: Search file contents for a text query (grep-like)

  • get_script_classes: Analyze a C# script to get its classes, methods, and fields

Paths can be absolute or relative to the project root. Examples:

  • "Assets/Scripts/MyScript.cs" (relative)

  • "Assets/Shaders/" (directory)

  • "ProjectSettings/ProjectSettings.asset" (project settings)

Security: All paths must be within the Unity project directory.

scriptable_objectB

Manage Unity ScriptableObjects. Actions:

  • create: Create a new ScriptableObject asset

  • get_properties: Inspect all serialized properties

  • set_property: Set a serialized property value

  • list: List ScriptableObjects in a folder

  • find_by_type: Find all assets of a specific SO type

  • duplicate: Duplicate a ScriptableObject asset

prefabB

Advanced Unity prefab operations. Actions:

  • get_info: Get prefab status (instance/asset type, variant, overrides)

  • create_variant: Create a prefab variant from a base prefab

  • get_overrides: List property modifications, added/removed components

  • apply_overrides: Apply all instance overrides back to the prefab asset

  • revert_overrides: Revert all instance overrides

  • unpack: Unpack a prefab instance (outermost or completely)

  • open: Open prefab in prefab editing mode

  • close: Close prefab editing mode, return to main stage

  • instantiate: Instantiate a prefab into the scene with optional position/parent

audio_mixerB

Manage Unity AudioMixers and AudioSources. Actions:

  • list: List all AudioMixer assets in the project

  • get_groups: Get mixer groups (channels)

  • get_snapshots: Get mixer snapshots

  • set_float: Set an exposed parameter value

  • get_float: Get an exposed parameter value

  • transition_snapshot: Transition to a named snapshot over duration

  • get_exposed_parameters: List all exposed parameters with current values

  • get_audio_sources: List all AudioSource components in the scene

terrainA

Manage Unity Terrains. Actions:

  • create: Create a new terrain with specified size and resolution

  • get_info: Get terrain details (size, resolution, layers, trees, details)

  • set_height: Set terrain height at a world position with brush radius

  • get_height: Sample terrain height at a world position

  • flatten: Flatten entire terrain to a uniform height

  • set_detail: Paint detail/grass density at a position

  • paint_texture: Paint a terrain layer/texture at a position

  • add_tree: Add a tree instance at a normalized (0-1) position

  • get_layers: List all terrain layers (textures)

  • add_layer: Add a new terrain layer from a texture asset

  • set_settings: Modify terrain rendering settings

  • list: List all terrains in the scene

navmeshC

Manage Unity NavMesh navigation system. Actions:

  • bake: Bake the NavMesh for the current scene

  • clear: Clear all NavMesh data

  • get_settings: Get NavMesh agent settings (radius, height, slope, climb)

  • set_settings: Modify NavMesh agent settings

  • get_areas: List NavMesh area names and costs

  • set_area: Set area cost by index

  • get_agents: List all NavMeshAgent components in scene

  • add_agent: Add/configure NavMeshAgent on a GameObject

  • find_path: Calculate a path between two positions

  • sample_position: Find the nearest NavMesh point to a position

  • get_obstacles: List all NavMeshObstacle components

  • add_obstacle: Add NavMeshObstacle to a GameObject

  • get_surfaces: List NavMeshSurface components (AI Navigation package)

physics2dA

Manage Unity 2D Physics: rigidbodies, colliders, raycasts, joints, effectors. Actions:

  • get_settings: Get Physics2D global settings (gravity, iterations, etc.)

  • set_settings: Modify Physics2D settings

  • raycast: Cast a 2D ray and return hit info

  • overlap_circle: Find all colliders within a circle

  • overlap_box: Find all colliders within a box

  • get_rigidbodies: List all Rigidbody2D components in scene

  • set_rigidbody: Add/configure Rigidbody2D on a GameObject

  • add_force: Apply force to a Rigidbody2D

  • get_colliders: List all Collider2D components in scene

  • add_collider: Add a 2D collider to a GameObject

  • get_joints: List all Joint2D components in scene

  • get_effectors: List all Effector2D components in scene

  • get_layers: Get 2D collision layer matrix

  • set_layer_collision: Enable/disable collision between two layers

tilemapA

Manage Unity Tilemaps for 2D level design. Actions:

  • create: Create a new Tilemap under a Grid (creates Grid if needed)

  • get_info: Get tilemap details (bounds, tile count, orientation)

  • set_tile: Place a tile at a cell position

  • erase_tile: Remove a tile at a cell position

  • fill_area: Fill a rectangular area with a tile

  • clear: Remove all tiles from a tilemap

  • get_tile: Inspect what tile is at a cell position

  • get_bounds: Get the used cell bounds

  • list: List all tilemaps in the scene

  • list_tiles: List TileBase assets in a folder

  • create_tile: Create a Tile asset from a sprite

  • set_color: Set the color tint of a tile at a position

  • compress_bounds: Compress tilemap bounds to remove empty space

spriteA

Manage Unity Sprites and SpriteAtlases. Actions:

  • get_info: Get sprite import settings and sub-sprites

  • list: List sprite assets in a folder

  • set_import_settings: Configure texture type, pixels per unit, filter, compression

  • slice: Slice a sprite sheet into multiple sprites (grid mode)

  • get_sprite_renderers: List all SpriteRenderer components in scene

  • set_sprite: Set the sprite on a SpriteRenderer

  • get_atlases: List SpriteAtlas assets

  • create_atlas: Create a new SpriteAtlas

  • add_to_atlas: Add sprites/folders to a SpriteAtlas

  • pack_atlas: Pack a SpriteAtlas for the active build target

particle_systemA

Manage Unity ParticleSystems in detail. Actions:

  • create: Create a new ParticleSystem GameObject

  • get_info: Get full particle system state (main, emission, shape modules)

  • set_main: Configure main module (duration, looping, lifetime, speed, size, gravity, etc.)

  • set_emission: Configure emission (rate over time/distance)

  • set_shape: Configure shape module (type, radius, angle, arc)

  • set_renderer: Configure renderer (render mode, material, sorting order)

  • play/stop/pause/restart: Playback control

  • list: List all ParticleSystems in scene

  • set_color_over_lifetime: Set start/end color gradient

  • set_size_over_lifetime: Set start/end size curve

  • set_velocity_over_lifetime: Set velocity min/max per axis

  • get_modules: Check which modules are enabled

playtestB

Autonomous playtesting: observe game state, simulate taps, click UI elements, capture screenshots, and interact with game objects during Unity play mode

restart_serverA

Rebuild TypeScript and restart the MCP server to pick up code changes. Use after modifying TS tools, C# handlers, or prompts. The server will exit and be auto-restarted by the host (Claude Code).

setup_xreal_projectA

Sets up a Unity project for XREAL One Pro development. Configures Android build target, XR Plugin Management, and imports NRSDK. This is the first step for any new XREAL mixed reality project.

configure_android_buildA

Configures Android build settings optimized for XREAL One Pro on Samsung S24. Sets up ARM64 architecture, IL2CPP scripting backend, minimum API level, and other required settings for mobile XR.

import_nrsdkA

Imports the NRSDK (XREAL SDK) into the Unity project. Can import from a local unitypackage file or download a specific version. Configures initial SDK settings after import.

validate_xreal_setupA

Validates the Unity project configuration for XREAL development. Checks NRSDK installation, Android build settings, XR Plugin Management, required permissions, and reports any issues that need to be fixed.

get_xreal_device_infoA

Gets information about the connected XREAL device including model, connection status, tracking state, battery level, and supported features. Works in both Editor simulation and on-device.

set_tracking_modeA

Sets the tracking mode for the XREAL glasses. 0DoF provides rotation only, 3DoF adds positional tracking relative to start, and 6DoF provides full positional and rotational tracking.

calibrate_glassesB

Triggers calibration procedures for XREAL glasses including IPD (interpupillary distance) adjustment, display brightness, and tracking recalibration.

get_camera_frameA

Captures a frame from the XREAL RGB camera for computer vision or AR development. Returns image data or saves to a file. Useful for debugging image tracking and mixed reality features.

enable_hand_trackingA

Enables or disables hand tracking on XREAL glasses. When enabled, the system tracks hand poses, joint positions, and recognizes gestures. Required for hand-based interactions.

get_hand_stateB

Gets the current state of tracked hands including joint positions, detected gestures, pinch strength, and tracking confidence. Returns detailed hand pose data.

configure_hand_gesturesA

Configures which hand gestures are recognized and their sensitivity. Gestures include pinch, grab, point, open palm, thumbs up, and more.

create_hand_interactableA

Adds hand interaction components to a GameObject, making it respond to hand gestures like pinch-to-grab, poke, or hover. Sets up the necessary colliders and interaction scripts.

enable_plane_detectionA

Enables or disables plane detection for spatial mapping. Detects horizontal surfaces (floors, tables) and vertical surfaces (walls) in the real environment.

get_detected_planesA

Gets information about all currently detected planes in the environment. Returns plane positions, orientations, boundaries, and classifications.

create_spatial_anchorA

Creates a spatial anchor at a specified position or on a detected plane. Spatial anchors persist across sessions and maintain their position in the real world.

manage_spatial_anchorsA

Manages spatial anchors: load from persistence, save current anchors, delete anchors, or query anchor information. Essential for persistent MR experiences.

enable_meshingA

Enables or disables spatial meshing to generate 3D mesh geometry of the real environment. Used for occlusion, physics collisions, and spatial understanding.

add_tracking_imageB

Adds an image to the image tracking database. The system will detect and track this image in the camera feed, returning its pose in 3D space.

configure_image_trackingC

Configures image tracking settings including how many images can be tracked simultaneously, tracking quality, and update frequency.

get_tracked_imagesA

Gets the current state of tracked images including which images are detected, their poses, and tracking quality.

configure_passthroughA

Configures the camera passthrough for mixed reality mode. Passthrough shows the real world through the glasses with virtual content overlaid.

set_render_modeB

Sets the rendering mode for the XREAL experience. VR mode renders only virtual content, AR mode overlays on passthrough, MR mode enables full mixed reality with occlusion.

configure_occlusionC

Configures depth-based occlusion settings. Occlusion allows real-world objects to properly hide virtual objects that are behind them, creating realistic mixed reality.

build_xreal_apkA

Queues an asynchronous Android APK build for XREAL One Pro and returns immediately with a jobId. Unity's BuildPipeline.BuildPlayer blocks the editor for minutes; this tool dispatches the build via EditorApplication.delayCall so the MCP request doesn't time out. Poll get_build_status with the returned jobId to follow progress and pick up the final BuildReport summary (output path, size, build time, errors, warnings).

get_build_statusA

Returns the current status of an asynchronous build started by build_xreal_apk. Provide the jobId returned from that tool. State transitions: Queued -> Building -> Succeeded | Failed. When state is Succeeded the response includes outputPath, fileSizeMb, buildSeconds, and (if runAfterBuild was set) a deployment summary. When state is Failed the response includes an errors array. Omit jobId to get a list of every known build job in this editor session.

get_connected_devicesA

Lists all Android devices connected via ADB. Shows device IDs, models, Android versions, and connection status. Useful for verifying device setup before deployment.

setup_xr_interactionB

Sets up the XR Interaction Toolkit for XREAL development. Configures interaction systems, input actions, and default interactors for hand-based or controller-based interaction.

create_xr_rigA

Creates an XR Origin (camera rig) configured for XREAL One Pro. Sets up the head-mounted display camera, hand tracking origins, and interaction components.

add_xr_interactorA

Adds XR interaction components to a GameObject. Interactors enable selection and manipulation of XR Interactables via ray casting or direct touch.

create_xr_uiA

Creates a world-space UI canvas configured for XR interaction. Sets up proper scaling, interaction raycasting, and visual settings for comfortable viewing in mixed reality.

get_xr_performance_metricsA

Gets real-time XR performance metrics including frame rate, frame times, GPU/CPU usage, thermal state, and memory usage. Essential for optimizing mobile XR experiences.

profile_xr_sceneB

Analyzes the current scene for XR performance issues. Checks draw calls, triangle counts, texture memory, shader complexity, and provides optimization recommendations.

capture_xr_screenshotA

Captures a screenshot from the XR camera perspective. Can capture mono, stereo (side-by-side), or individual eye views. Useful for documentation and debugging.

Prompts

Interactive templates invoked by user choice

NameDescription
gameobject_handling_strategyDefines the proper workflow for handling gameobjects in Unity
script_workflowWorkflow for creating, editing, and attaching C# scripts in Unity
scene_setupWorkflow for setting up and configuring Unity scenes
debugging_workflowSystematic approach to debugging Unity issues
performance_optimizationProfile and optimize Unity project performance
ui_developmentWorkflow for building Unity UI: Canvas setup, layout, text, buttons, panels
2d_game_developmentWorkflow for building 2D games: sprites, tilemaps, 2D physics, animation
world_buildingWorkflow for building 3D worlds: terrain, lighting, NavMesh, environment
audio_designWorkflow for Unity audio: AudioMixer, AudioSources, spatial audio, music
xreal_project_setupStep-by-step guide for setting up a new XREAL mixed reality project in Unity
hand_interaction_strategyBest practices and workflow for implementing hand tracking interactions in XREAL
spatial_anchor_workflowWorkflow for creating persistent mixed reality experiences using spatial anchors
xreal_optimization_guidePerformance optimization guide for XREAL mobile mixed reality applications

Resources

Contextual data attached and managed by the client

NameDescription
get_menu_itemsList of available menu items in Unity to execute
get_scenes_hierarchyRetrieve all GameObjects in the Unity loaded scenes with their active state (scenes hierarchy)
get_packagesRetrieve all packages from the Unity Package Manager
get_assetsRetrieve assets from the Unity Asset Database
Unity Editor StateCurrent Unity Editor state including: - Play mode status (editing, playing, paused) - Compilation state - Editor focus - Active scene - Selection - Inspector lock state - Current tool - Grid settings
get_xreal_device_stateReal-time XREAL device state including connection status, tracking quality, battery level, and thermal state
get_spatial_anchorsList of all spatial anchors in the current scene with their positions, rotations, persistence status, and custom metadata
get_detected_planes_resourceList of all detected planes in the environment including floor, walls, tables, and other surfaces with their poses and boundaries
get_tracked_images_resourceList of all currently tracked images with their poses, tracking states, and detected sizes
get_xreal_build_settingsCurrent Android and XREAL build configuration including SDK versions, graphics settings, XR plugin settings, and player settings
List only 'EditMode' testsList only 'EditMode' tests from Unity's test runner
List only 'PlayMode' testsList only 'PlayMode' tests from Unity's test runner
List all testsList of all tests in Unity's test runner, this includes PlayMode and EditMode tests
All logsAll Unity console logs (newest first). Set includeStackTrace=false to save tokens.
Error logsError logs only. Start with includeStackTrace=false for quick overview.
Warning logsWarning logs only. Use includeStackTrace=false by default to save tokens.
Info logsInfo logs only. Stack traces excluded by default to minimize tokens.
Frame Timing DataFrame times, FPS, and frame budget utilization
Memory UsageMemory breakdown by category (Native, Managed, Graphics, etc.)
Rendering StatsDraw calls, triangles, vertices, batches, set pass calls
CPU UsageCPU time breakdown by Unity area
GC AllocationsGarbage collection allocations this frame
Physics StatsActive rigidbodies, contacts, collision pairs
Build SettingsCurrent build target, output path, and options
Build ScenesScenes included in the build
Build ReportLast build report with sizes and warnings
Available PlatformsInstalled build platforms and their status
Player SettingsCompany, product name, version, icons, splash, scripting
Quality SettingsQuality levels, shadows, textures, anti-aliasing
Graphics SettingsRender pipeline, transparency sort, shaders
Physics SettingsGravity, layer collision matrix, solver iterations
Time SettingsFixed timestep, max timestep, time scale
Audio SettingsGlobal volume, DSP buffer, sample rate
Editor SettingsVersion control, asset serialization, sprite packer
Input SettingsInput axes and button mappings
Tags and LayersCustom tags and sorting layers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/joel-wehr/unity-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server