| name | object-get-data |
| description | Get serialized data for a Unity `UnityEngine.Object` — all serializable fields and properties. Supports token-saving path-scoped reads via `paths` or `viewQuery`. Pair with 'object-modify' when you need to write back. |
Object / Get Data
Get data of the specified Unity Object. Returns serialized data of the object including its properties and fields. If need to modify the data use 'object-modify' tool.
Path-scoped reads (token-saving)
Supply paths (a list of paths) to read only the listed fields/elements via Reflector.TryReadAt, or viewQuery (a ViewQuery) to navigate to a subtree and/or filter by name regex / max depth / type via Reflector.View. These two parameters are mutually exclusive — supply at most one. When neither is supplied the full object is serialized (backwards compatible).
Path syntax
fieldName, nested/field, arrayField/[i], dictField/[key]. Leading #/ is stripped.
How to Call
unity-mcp-cli run-tool object-get-data --input '{
"objectRef": "string_value",
"paths": "string_value",
"viewQuery": "string_value"
}'
For complex input (multi-line strings, code), save the JSON to a file and use:
unity-mcp-cli run-tool object-get-data --input-file args.json
Or pipe via stdin (recommended):
unity-mcp-cli run-tool object-get-data --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 |
|---|
objectRef | any | Yes | Reference to UnityEngine.Object instance. It could be GameObject, Component, Asset, etc. Anything extended from UnityEngine.Object. |
paths | any | No | Optional. List of paths to read individually via Reflector.TryReadAt. Each path may target a different depth. Path syntax: 'fieldName', 'nested/field', 'arrayField/[i]', 'dictField/[key]'. Mutually exclusive with 'viewQuery'. |
viewQuery | any | No | Optional. View-query filter routed through Reflector.View — combines a starting Path, a case-insensitive NamePattern regex, MaxDepth, and an optional TypeFilter. Mutually exclusive with 'paths'. |
Input JSON Schema
{
"type": "object",
"properties": {
"objectRef": {
"$ref": "#/$defs/AIGD.ObjectRef"
},
"paths": {
"$ref": "#/$defs/System.Collections.Generic.List(System.String)"
},
"viewQuery": {
"$ref": "#/$defs/com.IvanMurzak.ReflectorNet.Model.ViewQuery"
}
},
"$defs": {
"AIGD.ObjectRef": {
"type": "object",
"properties": {
"instanceID": {
"type": "integer",
"description": "instanceID of the UnityEngine.Object. If this is '0', then it will be used as 'null'."
Output
Output JSON Schema
{
"type": "object",
"properties": {
"result": {
"$ref": "#/$defs/com.IvanMurzak.ReflectorNet.Model.SerializedMember"
}
},
"$defs": {
"com.IvanMurzak.ReflectorNet.Model.SerializedMemberList": {
"type": "array",
"items": {
"$ref": "#/$defs/com.IvanMurzak.ReflectorNet.Model.SerializedMember"
}
},
"com.IvanMurzak.ReflectorNet.Model.SerializedMember": {
"type": "object",
"properties": {
"typeName": {
"type": "string",
"description"