Install the "reflection-method-call" agent skill from https://github.com/IvanMurzak/Unity-MCP/tree/main/Unity-MCP-Plugin/.claude/skills/reflection-method-call into .claude/skills/reflection-method-call/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reflection-method-call", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add IvanMurzak/Unity-MCP --skill reflection-method-call -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "reflection-method-call" agent skill from https://github.com/IvanMurzak/Unity-MCP/tree/main/Unity-MCP-Plugin/.claude/skills/reflection-method-call into .agents/skills/reflection-method-call/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reflection-method-call", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add IvanMurzak/Unity-MCP --skill reflection-method-call -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "reflection-method-call" agent skill from https://github.com/IvanMurzak/Unity-MCP/tree/main/Unity-MCP-Plugin/.claude/skills/reflection-method-call into .cursor/skills/reflection-method-call/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reflection-method-call", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add IvanMurzak/Unity-MCP --skill reflection-method-call -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "reflection-method-call" agent skill from https://github.com/IvanMurzak/Unity-MCP/tree/main/Unity-MCP-Plugin/.claude/skills/reflection-method-call into .gemini/skills/reflection-method-call/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reflection-method-call", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add IvanMurzak/Unity-MCP --skill reflection-method-call -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "reflection-method-call" agent skill from https://github.com/IvanMurzak/Unity-MCP/tree/main/Unity-MCP-Plugin/.claude/skills/reflection-method-call into .github/skills/reflection-method-call/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reflection-method-call", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add IvanMurzak/Unity-MCP --skill reflection-method-call -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "reflection-method-call" agent skill from https://github.com/IvanMurzak/Unity-MCP/tree/main/Unity-MCP-Plugin/.claude/skills/reflection-method-call into .opencode/skills/reflection-method-call/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reflection-method-call", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
reflection-method-call
GitHub stars
4.4k
Used in
1 other repo
Token cost
~2.5k tokens
SKILL.md length
476 words
Files
1
Skills in repo
80
Repo updated
First seen
Licence
Apache-2.0
At a glance
Call a C method by reflection — including private methods. An agent skill from IvanMurzak/Unity-MCP.
Game Development work in your project
SKILL.md covers Match levels (apply to…, Inputs, How to Call and Input, plus 1 more section
Calls npm and npx
What it does
Reflection Method Call is an agent skill from IvanMurzak/Unity-MCP. Call a C method by reflection — including private methods. Requires a method schema obtained via 'reflection-method-find'. Supports static methods, instance methods (with optional target deserialization), and main-thread / off-thread execution.
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Game Development. It works with C# and Model Context Protocol. The repository describes itself as: AI Skills, MCP Tools, and CLI for Unity Engine. Full AI develop and test loop. Use cli for quick setup. Efficient token usage, advanced tools. Any C method may be turned into a… The licence is Apache-2.0.
When your agent uses it
Game Development work in your project
Example prompts
“reflection-method-find”
“/reflection-method-call”
Requirements
Node.js
What it can do on your machine
Read from SKILL.md and the folder at commit 4c8056f. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Runs code
Shell commands in SKILL.md call:
npm
npx
From the folder's file list and the shell code blocks in SKILL.md.
Network
No URLs in SKILL.md. Its commands use npm and npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
Reflection Method Call loads about 2.5k tokens when it runs. Until then it costs about 67 tokens; SKILL.md has 476 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~67
When it runs· the whole SKILL.md, loaded when a task matches
~2.5k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check passed
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
Download SKILL.mdSave it as .claude/skills/reflection-method-call/SKILL.md (or your agent's skills folder).
name
reflection-method-call
description
Call a C# method by reflection — including private methods. Requires a method schema obtained via 'reflection-method-find'. Supports static methods, instance methods (with optional target deserialization), and main-thread / off-thread execution.
Method C# / Call
Call C# method. Any method could be called, even private methods. It requires to receive proper method schema. Use 'reflection-method-find' to find available method before using it. Receives input parameters and returns result.
Match levels (apply to typeName, MethodName, Parameters)
targetObject (optional) — for instance methods. When null, a new instance is created from the declaring type. Required shape: { type, value } (value is deserialized to type).
inputParameters (optional) — list of { type, name, value }. Names are enhanced against the resolved method signature if omitted.
executeInMainThread (default true) — Unity API calls should keep this true; set false only for thread-safe pure logic.
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
filter
any
Yes
Method reference. Used to find method in codebase of the project.
knownNamespace
boolean
No
Set to true if 'Namespace' is known and full namespace name is specified in the 'filter.Namespace' property. Otherwise, set to false.
typeNameMatchLevel
integer
No
Minimal match level for 'typeName'. 0 - ignore 'filter.typeName', 1 - contains ignoring case (default value), 2 - contains case sensitive, 3 - starts with ignoring case, 4 - starts with case sensitive, 5 - equals ignoring case, 6 - equals case sensitive.
methodNameMatchLevel
integer
No
Minimal match level for 'MethodName'. 0 - ignore 'filter.MethodName', 1 - contains ignoring case (default value), 2 - contains case sensitive, 3 - starts with ignoring case, 4 - starts with case sensitive, 5 - equals ignoring case, 6 - equals case sensitive.
parametersMatchLevel
integer
No
Minimal match level for 'Parameters'. 0 - ignore 'filter.Parameters', 1 - parameters count is the same, 2 - equals (default value).
targetObject
any
No
Specify target object to call method on. Should be null if the method is static or if there is no specific target instance. New instance of the specified class will be created if the method is instance method and the targetObject is null. Required: type - full type name of the object to call method on, value - serialized object value (it will be deserialized to the specified type).
inputParameters
any
No
Method input parameters. Per each parameter specify: type - full type name of the object to call method on, name - parameter name, value - serialized object value (it will be deserialized to the specified type).
executeInMainThread
boolean
No
Set to true if the method should be executed in the main thread. Otherwise, set to false.
Show full SKILL.md (7 more words)Show less
Input JSON Schema
json
{
"type": "object",
"properties": {
"filter": {
"$ref": "#/$defs/com.IvanMurzak.ReflectorNet.Model.MethodRef"
},
"knownNamespace": {
"type": "boolean"
},
"typeNameMatchLevel": {
"type": "integer"
},
"methodNameMatchLevel": {
"type": "integer"
},
"parametersMatchLevel": {
"type": "integer"
},
"targetObject": {
"$ref": "#/$defs/com.IvanMurzak.ReflectorNet.Model.SerializedMember"
},
"inputParameters": {
"$ref": "#/$defs/com.IvanMurzak.ReflectorNet.Model.SerializedMemberList"
},
"executeInMainThread": {
"type": "boolean"
}
},
"$defs": {
"System.Collections.Generic.List(com.IvanMurzak.ReflectorNet.Model.MethodRef-Parameter)": {
"type": "array",
"items": {
"$ref": "#/$defs/com.IvanMurzak.ReflectorNet.Model.MethodRef-Parameter",
"description": "Parameter of a method. Contains type and name of the parameter."
}
},
"com.IvanMurzak.ReflectorNet.Model.MethodRef-Parameter": {
"type": "object",
"properties": {
"typeName": {
"type": "string",
"description": "Type of the parameter including namespace. Sample: 'System.String', 'System.Int32', 'UnityEngine.GameObject', etc."
},
"name": {
"type": "string",
"description": "Name of the parameter. It may be empty if the name is unknown."
}
},
"description": "Parameter of a method. Contains type and name of the parameter."
},
"com.IvanMurzak.ReflectorNet.Model.MethodRef": {
"type": "object",
"properties": {
"namespace": {
"type": "string",
"description": "Namespace of the class. It may be empty if the class is in the global namespace or the namespace is unknown."
},
"typeName": {
"type": "string",
"description": "Class name, or substring a class name. It may be empty if the class is unknown."
},
"methodName": {
"type": "string",
"description": "Method name, or substring of the method name. It may be empty if the method is unknown."
},
"inputParameters": {
"$ref": "#/$defs/System.Collections.Generic.List(com.IvanMurzak.ReflectorNet.Model.MethodRef-Parameter)",
"description": "List of input parameters. Can be null if the method has no parameters or the parameters are unknown."
}
},
"description": "Method reference. Used to find method in codebase of the project."
},
"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": "Full type name. Eg: 'System.String', 'System.Int32', 'UnityEngine.Vector3', 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 'SerializedMember'."
},
"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 'SerializedMember'."
}
},
"required": [
"typeName"
],
"additionalProperties": false
}
},
"required": [
"filter"
]
}
Output
Output JSON Schema
json
{
"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": "Full type name. Eg: 'System.String', 'System.Int32', 'UnityEngine.Vector3', 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 'SerializedMember'."
},
"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 'SerializedMember'."
}
},
"required": [
"typeName"
],
"additionalProperties": false
}
},
"required": [
"result"
]
}
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in IvanMurzak/Unity-MCP, which our catalogue first saw on October 7, 2026.
Reflection Method Call next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
Reflection Method Call compared with similar skills
Skill
Stars
Used in
Tokens
Auto-check
Licence
Repo updated
Reflection Method Call this skillIvanMurzak/Unity-MCP
A skill your agent uses when an agent needs to inspect or control a real Unity Editor through Locus, especially when Unity MCP is unavailable, named-pipe discovery is needed, C must be executed, or…
A skill your agent uses when investigating a bug, failing test, or unexpected runtime behavior and the mcp-debugger MCP server is available — drives real step-through debuggers (breakpoints, stack…
Build and modify REST APIs with NpgsqlRest — exposing PostgreSQL as HTTP endpoints from two sources (database functions/procedures/tables/views, and plain .sql files), driven by SQL comment…
Helps build, explain and troubleshoot C# Discord apps on DisCatSharp, answering from the project's installed version and the library's documentation rather than guesses.
Call a C method by reflection — including private methods. An agent skill from IvanMurzak/Unity-MCP. Reflection Method Call is an agent skill from IvanMurzak/Unity-MCP. Call a C method by reflection — including private methods.
When should I use Reflection Method Call?
Reflection Method Call fits situations like: game Development work in your project.
How do I install Reflection Method Call in Claude Code?
Run `npx skills add IvanMurzak/Unity-MCP --skill reflection-method-call -a claude-code`. Or copy the skill folder (Unity-MCP-Plugin/.claude/skills/reflection-method-call in IvanMurzak/Unity-MCP) into .claude/skills/reflection-method-call in your project. Claude Code loads it when a task matches its description.
How do I install Reflection Method Call in Codex?
Run `npx skills add IvanMurzak/Unity-MCP --skill reflection-method-call -a codex`. Or copy the skill folder (Unity-MCP-Plugin/.claude/skills/reflection-method-call in IvanMurzak/Unity-MCP) into .agents/skills/reflection-method-call in your project. Codex loads it when a task matches its description.
Can I use Reflection Method Call in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add IvanMurzak/Unity-MCP --skill reflection-method-call -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/reflection-method-call, .gemini/skills/reflection-method-call, .github/skills/reflection-method-call and .opencode/skills/reflection-method-call in your project.
What does Reflection Method Call need to run?
Going by SKILL.md and its folder, Reflection Method Call needs the command-line tools its instructions call (npm and npx). Our summary lists: Node.js.
Does Reflection Method Call access the network?
SKILL.md contains no URLs. Its commands use npm and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Is Reflection Method Call safe to install?
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
What licence does Reflection Method Call use?
Reflection Method Call is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Reflection Method Call use?
About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
What are the alternatives to Reflection Method Call?
Skills that share tags, products or a category with Reflection Method Call: Locus Unity Bridge (Misaka-Mikoto-Tech/agent-skills, 275 stars), Unity Plugin (TomLeeLive/openclaw-unity-plugin, 107 stars), MCP Debugger (debugmcp/mcp-debugger, 171 stars) and Agent Framework (jihadkhawaja/Egroo, 178 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Reflection Method Call?
IvanMurzak (a GitHub user) maintains it in IvanMurzak/Unity-MCP, which has 4,398 GitHub stars. The repository holds 80 skills in this directory. The repository was last updated on October 4, 2026.
Source: IvanMurzak/Unity-MCP on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.