--- name: profiler-get-memory-stats description: Return memory statistics snapshot from UnityEngine.Profiling.Profiler — reserved, allocated, mono heap, graphics, etc. (in MB). --- # Profiler / Get Memory Stats Reads UnityEngine.Profiling.Profiler scalar memory counters and converts each from bytes to megabytes (`/1048576f`). ## Fields - `TotalReservedMemoryMB` — `GetTotalReservedMemoryLong()`. - `TotalAllocatedMemoryMB` — `GetTotalAllocatedMemoryLong()`. - `TotalUnusedReservedMemoryMB` — `GetTotalUnusedReservedMemoryLong()`. - `MonoHeapSizeMB` — `GetMonoHeapSizeLong()`. - `MonoUsedSizeMB` — `GetMonoUsedSizeLong()`. - `TempAllocatorSizeMB` — `GetTempAllocatorSize()`. - `GraphicsMemoryMB` — `GetAllocatedMemoryForGraphicsDriver()`. - `MaxUsedMemoryMB` — `maxUsedMemory`. - `UsedHeapSizeMB` — `usedHeapSizeLong`. ## Behavior Uses only built-in Unity APIs (`UnityEngine.Profiling.Profiler`). No external Unity package is required. ## How to Call ```bash unity-mcp-cli run-tool profiler-get-memory-stats --input '{ "nothing": "string_value" }' ``` > For complex input (multi-line strings, code), save the JSON to a file and use: > ```bash > unity-mcp-cli run-tool profiler-get-memory-stats --input-file args.json > ``` > > Or pipe via stdin (recommended): > ```bash > unity-mcp-cli run-tool profiler-get-memory-stats --input-file - <<'EOF' > {"param": "value"} > EOF > ``` ### Troubleshooting If `unity-mcp-cli` is not found, either install it globally (`npm install -g unity-mcp-cli`) or use `npx unity-mcp-cli` instead. Read the /unity-initial-setup skill for detailed installation instructions. ## Input | Name | Type | Required | Description | |------|------|----------|-------------| | `nothing` | `string` | No | | ### Input JSON Schema ```json { "type": "object", "properties": { "nothing": { "type": "string" } } } ``` ## Output ### Output JSON Schema ```json { "type": "object", "properties": { "result": { "$ref": "#/$defs/com.IvanMurzak.Unity.MCP.Editor.API.Tool_Profiler-MemoryStatsData", "description": "Memory statistics from the Unity Profiler. All values in megabytes unless otherwise noted." } }, "$defs": { "com.IvanMurzak.Unity.MCP.Editor.API.Tool_Profiler-MemoryStatsData": { "type": "object", "properties": { "TotalReservedMemoryMB": { "type": "number", "description": "Total reserved memory (UnityEngine.Profiling.Profiler.GetTotalReservedMemoryLong / 1048576)." }, "TotalAllocatedMemoryMB": { "type": "number", "description": "Total allocated memory (UnityEngine.Profiling.Profiler.GetTotalAllocatedMemoryLong / 1048576)." }, "TotalUnusedReservedMemoryMB": { "type": "number", "description": "Total unused reserved memory (UnityEngine.Profiling.Profiler.GetTotalUnusedReservedMemoryLong / 1048576)." }, "MonoHeapSizeMB": { "type": "number", "description": "Mono heap size (UnityEngine.Profiling.Profiler.GetMonoHeapSizeLong / 1048576)." }, "MonoUsedSizeMB": { "type": "number", "description": "Mono used size (UnityEngine.Profiling.Profiler.GetMonoUsedSizeLong / 1048576)." }, "TempAllocatorSizeMB": { "type": "number", "description": "Temp allocator size (UnityEngine.Profiling.Profiler.GetTempAllocatorSize / 1048576)." }, "GraphicsMemoryMB": { "type": "number", "description": "Graphics memory reserved by the driver (UnityEngine.Profiling.Profiler.GetAllocatedMemoryForGraphicsDriver / 1048576)." }, "MaxUsedMemoryMB": { "type": "number", "description": "Maximum used memory observed (UnityEngine.Profiling.Profiler.maxUsedMemory / 1048576)." }, "UsedHeapSizeMB": { "type": "number", "description": "Used heap size (UnityEngine.Profiling.Profiler.usedHeapSizeLong / 1048576)." } }, "required": [ "TotalReservedMemoryMB", "TotalAllocatedMemoryMB", "TotalUnusedReservedMemoryMB", "MonoHeapSizeMB", "MonoUsedSizeMB", "TempAllocatorSizeMB", "GraphicsMemoryMB", "MaxUsedMemoryMB", "UsedHeapSizeMB" ], "description": "Memory statistics from the Unity Profiler. All values in megabytes unless otherwise noted." } }, "required": [ "result" ] } ```