287 lines
9.9 KiB
Markdown
287 lines
9.9 KiB
Markdown
|
|
---
|
||
|
|
name: gameobject-component-get
|
||
|
|
description: 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:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
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)
|
||
|
|
|
||
|
|
```bash
|
||
|
|
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
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"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
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"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"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
```
|