Skip to main content
Glama
MCPConfig.cs2.8 kB
using UnityEngine; namespace UnityMCP { /// <summary> /// Configuration settings for Unity MCP Server /// Stored as ScriptableObject for persistence /// </summary> [CreateAssetMenu(fileName = "MCPConfig", menuName = "Unity MCP/Configuration", order = 1)] public class MCPConfig : ScriptableObject { [Header("Transport Settings")] [Tooltip("Transport type (WebSocket only)")] public string transportType = "websocket"; [Header("WebSocket Server Settings")] [Tooltip("Port for WebSocket server")] [Range(1024, 65535)] public int websocketPort = 8090; [Header("General Settings")] [Tooltip("Auto-start server when Unity Editor loads")] public bool autoStart = true; [Tooltip("Server request timeout in seconds")] [Range(1, 60)] public int requestTimeout = 30; [Header("Connection Settings")] [Tooltip("Allow remote connections (not recommended for security)")] public bool allowRemoteConnections = false; [Tooltip("Enable detailed logging for debugging")] public bool verboseLogging = false; [Header("Features")] [Tooltip("Enable console log monitoring")] public bool enableConsoleMonitoring = true; [Tooltip("Enable automatic asset refresh")] public bool autoRefreshAssets = true; [Tooltip("Maximum console logs to store")] [Range(100, 5000)] public int maxConsoleLogs = 1000; [Header("Advanced")] [Tooltip("Enable undo/redo for all operations")] public bool enableUndo = true; [Tooltip("Backup scenes before destructive operations")] public bool autoBackupScenes = false; /// <summary> /// Get or create the default config instance /// </summary> public static MCPConfig GetOrCreate() { var config = Resources.Load<MCPConfig>("MCPConfig"); if (config == null) { config = CreateInstance<MCPConfig>(); #if UNITY_EDITOR // Create Resources folder if it doesn't exist if (!UnityEditor.AssetDatabase.IsValidFolder("Assets/Resources")) { UnityEditor.AssetDatabase.CreateFolder("Assets", "Resources"); } // Save as asset string path = "Assets/Resources/MCPConfig.asset"; UnityEditor.AssetDatabase.CreateAsset(config, path); UnityEditor.AssetDatabase.SaveAssets(); Debug.Log($"[Unity MCP] Created config at {path}"); #endif } return config; } } }

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/muammar-yacoob/unity-mcp'

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