9.9 KiB
9.9 KiB
name, description
| name | description |
|---|---|
| gameobject-component-get | Get detailed information about a specific Component on a GameObject. Returns component type, enabled state, and optionally serialized fields and properties. Use this to inspect component data before modifying it. Use 'gameobject-find' tool to get the list of all components on the GameObject. |
GameObject / Component / Get
Get detailed information about a specific Component on a GameObject. Returns component type, enabled state, and optionally serialized fields and properties. Use this to inspect component data before modifying it. Use 'gameobject-find' tool to get the list of all components on the GameObject.
How to Call
HTTP API (Direct Tool Execution)
Execute this tool directly via the MCP Plugin HTTP API:
curl -X POST http://localhost:8080/api/tools/gameobject-component-get \
-H "Content-Type: application/json" \
-d '{
"gameObjectRef": "string_value",
"componentRef": "string_value",
"includeFields": false,
"includeProperties": false,
"deepSerialization": false
}'
With Authorization (if required)
curl -X POST http://localhost:8080/api/tools/gameobject-component-get \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"gameObjectRef": "string_value",
"componentRef": "string_value",
"includeFields": false,
"includeProperties": false,
"deepSerialization": false
}'
Input
| Name | Type | Required | Description |
|---|---|---|---|
gameObjectRef |
any |
Yes | Find GameObject in opened Prefab or in the active Scene. |
componentRef |
any |
Yes | Component reference. Used to find a Component at GameObject. |
includeFields |
boolean |
No | Include serialized fields of the component. |
includeProperties |
boolean |
No | Include serialized properties of the component. |
deepSerialization |
boolean |
No | Performs deep serialization including all nested objects. Otherwise, only serializes top-level members. |
Input JSON Schema
{
"type": "object",
"properties": {
"gameObjectRef": {
"$ref": "#/$defs/com.IvanMurzak.Unity.MCP.Runtime.Data.GameObjectRef",
"description": "Find GameObject in opened Prefab or in the active Scene."
},
"componentRef": {
"$ref": "#/$defs/com.IvanMurzak.Unity.MCP.Runtime.Data.ComponentRef",
"description": "Component reference. Used to find a Component at GameObject."
},
"includeFields": {
"type": "boolean",
"description": "Include serialized fields of the component."
},
"includeProperties": {
"type": "boolean",
"description": "Include serialized properties of the component."
},
"deepSerialization": {
"type": "boolean",
"description": "Performs deep serialization including all nested objects. Otherwise, only serializes top-level members."
}
},
"$defs": {
"System.Type": {
"type": "string"
},
"com.IvanMurzak.Unity.MCP.Runtime.Data.GameObjectRef": {
"type": "object",
"properties": {
"instanceID": {
"type": "integer",
"description": "instanceID of the UnityEngine.Object. If it is \u00270\u0027 and \u0027path\u0027, \u0027name\u0027, \u0027assetPath\u0027 and \u0027assetGuid\u0027 is not provided, empty or null, then it will be used as \u0027null\u0027. Priority: 1 (Recommended)"
},
"path": {
"type": "string",
"description": "Path of a GameObject in the hierarchy Sample \u0027character/hand/finger/particle\u0027. Priority: 2."
},
"name": {
"type": "string",
"description": "Name of a GameObject in hierarchy. Priority: 3."
},
"assetType": {
"$ref": "#/$defs/System.Type",
"description": "Type of the asset."
},
"assetPath": {
"type": "string",
"description": "Path to the asset within the project. Starts with \u0027Assets/\u0027"
},
"assetGuid": {
"type": "string",
"description": "Unique identifier for the asset."
}
},
"required": [
"instanceID"
],
"description": "Find GameObject in opened Prefab or in the active Scene."
},
"com.IvanMurzak.Unity.MCP.Runtime.Data.ComponentRef": {
"type": "object",
"properties": {
"index": {
"type": "integer",
"description": "Component \u0027index\u0027 attached to a gameObject. The first index is \u00270\u0027 and that is usually Transform or RectTransform. Priority: 2. Default value is -1."
},
"typeName": {
"type": "string",
"description": "Component type full name. Sample \u0027UnityEngine.Transform\u0027. If the gameObject has two components of the same type, the output component is unpredictable. Priority: 3. Default value is null."
},
"instanceID": {
"type": "integer",
"description": "instanceID of the UnityEngine.Object. If this is \u00270\u0027, then it will be used as \u0027null\u0027."
}
},
"required": [
"index",
"instanceID"
],
"description": "Component reference. Used to find a Component at GameObject."
}
},
"required": [
"gameObjectRef",
"componentRef"
]
}
Output
Output JSON Schema
{
"type": "object",
"properties": {
"result": {
"$ref": "#/$defs/com.IvanMurzak.Unity.MCP.Editor.API.Tool_GameObject\u002BGetComponentResponse"
}
},
"$defs": {
"com.IvanMurzak.Unity.MCP.Runtime.Data.ComponentRef": {
"type": "object",
"properties": {
"index": {
"type": "integer",
"description": "Component \u0027index\u0027 attached to a gameObject. The first index is \u00270\u0027 and that is usually Transform or RectTransform. Priority: 2. Default value is -1."
},
"typeName": {
"type": "string",
"description": "Component type full name. Sample \u0027UnityEngine.Transform\u0027. If the gameObject has two components of the same type, the output component is unpredictable. Priority: 3. Default value is null."
},
"instanceID": {
"type": "integer",
"description": "instanceID of the UnityEngine.Object. If this is \u00270\u0027, then it will be used as \u0027null\u0027."
}
},
"required": [
"index",
"instanceID"
],
"description": "Component reference. Used to find a Component at GameObject."
},
"com.IvanMurzak.Unity.MCP.Runtime.Data.ComponentDataShallow": {
"type": "object",
"properties": {
"instanceID": {
"type": "integer"
},
"typeName": {
"type": "string"
},
"isEnabled": {
"type": "string",
"enum": [
"False",
"True",
"NA"
]
}
},
"required": [
"instanceID",
"isEnabled"
]
},
"System.Collections.Generic.List\u003Ccom.IvanMurzak.ReflectorNet.Model.SerializedMember\u003E": {
"type": "array",
"items": {
"$ref": "#/$defs/com.IvanMurzak.ReflectorNet.Model.SerializedMember"
}
},
"com.IvanMurzak.ReflectorNet.Model.SerializedMember": {
"type": "object",
"properties": {
"typeName": {
"type": "string",
"description": "Full type name. Eg: \u0027System.String\u0027, \u0027System.Int32\u0027, \u0027UnityEngine.Vector3\u0027, etc."
},
"name": {
"type": "string",
"description": "Object name."
},
"value": {
"description": "Value of the object, serialized as a non stringified JSON element. Can be null if the value is not set. Can be default value if the value is an empty object or array json."
},
"fields": {
"type": "array",
"items": {
"$ref": "#/$defs/com.IvanMurzak.ReflectorNet.Model.SerializedMember",
"description": "Nested field value."
},
"description": "Fields of the object, serialized as a list of \u0027SerializedMember\u0027."
},
"props": {
"type": "array",
"items": {
"$ref": "#/$defs/com.IvanMurzak.ReflectorNet.Model.SerializedMember",
"description": "Nested property value."
},
"description": "Properties of the object, serialized as a list of \u0027SerializedMember\u0027."
}
},
"required": [
"typeName"
],
"additionalProperties": false
},
"com.IvanMurzak.ReflectorNet.Model.SerializedMemberList": {
"type": "array",
"items": {
"$ref": "#/$defs/com.IvanMurzak.ReflectorNet.Model.SerializedMember"
}
},
"com.IvanMurzak.Unity.MCP.Editor.API.Tool_GameObject\u002BGetComponentResponse": {
"type": "object",
"properties": {
"Reference": {
"$ref": "#/$defs/com.IvanMurzak.Unity.MCP.Runtime.Data.ComponentRef",
"description": "Reference to the component for future operations."
},
"Index": {
"type": "integer",
"description": "Index of the component in the GameObject\u0027s component list."
},
"Component": {
"$ref": "#/$defs/com.IvanMurzak.Unity.MCP.Runtime.Data.ComponentDataShallow",
"description": "Basic component information (type, enabled state)."
},
"Fields": {
"$ref": "#/$defs/System.Collections.Generic.List\u003Ccom.IvanMurzak.ReflectorNet.Model.SerializedMember\u003E",
"description": "Serialized fields of the component."
},
"Properties": {
"$ref": "#/$defs/System.Collections.Generic.List\u003Ccom.IvanMurzak.ReflectorNet.Model.SerializedMember\u003E",
"description": "Serialized properties of the component."
}
},
"required": [
"Index"
]
}
},
"required": [
"result"
]
}