# set_material_instance_texture

Set a texture parameter on a material instance.

Agent View of the PolicyLayer registry record for `set_material_instance_texture`. HTML page: https://policylayer.com/tools/jjpxdev-unreal-mcp/set-material-instance-texture

## Facts

- Tool: `set_material_instance_texture`
- Server: Unreal (`@jjpxdev/unreal-mcp`) — https://policylayer.com/tools/jjpxdev-unreal-mcp.md
- Install: `npx -y @jjpxdev/unreal-mcp`
- Homepage: https://www.npmjs.com/package/@jjpxdev/unreal-mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 3 (3 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `texture_path` | string | yes | Texture asset path |
| `instance_path` | string | yes | Material instance asset path |
| `parameter_name` | string | yes | Texture parameter name |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "set_material_instance_texture",
    "arguments": {
      "texture_path": "<texture_path>",
      "instance_path": "<instance_path>",
      "parameter_name": "<parameter_name>"
    }
  }
}
```

## Why set_material_instance_texture is rated Medium

This tool modifies material instance parameters by setting texture values. It creates or updates asset configuration in a reversible manner (the texture parameter can be changed again or reverted), making it a Write operation rather than Destructive. The severity is medium because misuse could alter visual rendering or corrupt asset state, but the change is not permanent and can be undone.

From the tool's own definition: "Tool name 'set_material_instance_texture' and description 'Set a texture parameter on a material instance' indicate modification of material properties. This is a reversible change to an asset parameter."

## Use case

AI agents use set_material_instance_texture to create or update resources in Unreal, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Unreal environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Unreal:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "set_material_instance_texture": {
      "limits": [
        {
          "counter": "set_material_instance_texture_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Unreal (126)

- `delete_actor` — Destructive — https://policylayer.com/tools/jjpxdev-unreal-mcp/delete-actor.md
- `delete_asset` — Destructive — https://policylayer.com/tools/jjpxdev-unreal-mcp/delete-asset.md
- `delete_material_expression` — Destructive — https://policylayer.com/tools/jjpxdev-unreal-mcp/delete-material-expression.md
- `remove_graph_node` — Destructive — https://policylayer.com/tools/jjpxdev-unreal-mcp/remove-graph-node.md
- `build_cook_run` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/build-cook-run.md
- `build_graph` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/build-graph.md
- `build_plugin` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/build-plugin.md
- `build_target` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/build-target.md
- `call_preset_function` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/call-preset-function.md
- `clean_project` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/clean-project.md
- `compile_blueprint` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/compile-blueprint.md
- `content_audit` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/content-audit.md
- `cook_content` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/cook-content.md
- `execute_console_command` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/execute-console-command.md
- `execute_python` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/execute-python.md
- `generate_lods` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/generate-lods.md
- `package_project` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/package-project.md
- `recompile_material` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/recompile-material.md
- `reinit_niagara_system` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/reinit-niagara-system.md
- `render_sequence` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/render-sequence.md
- `reset_niagara_system` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/reset-niagara-system.md
- `run_all_automation_tests` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/run-all-automation-tests.md
- `run_automation_test` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/run-automation-test.md
- `run_automation_tests_by_category` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/run-automation-tests-by-category.md
- `run_editor_utility_blueprint` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/run-editor-utility-blueprint.md
- `run_editor_utility_widget` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/run-editor-utility-widget.md
- `run_gauntlet` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/run-gauntlet.md
- `run_map_check` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/run-map-check.md
- `run_stat_command` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/run-stat-command.md
- `spawn_niagara_at_location` — Execute — https://policylayer.com/tools/jjpxdev-unreal-mcp/spawn-niagara-at-location.md
- …and 96 more: https://policylayer.com/tools/jjpxdev-unreal-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=jjpxdev-unreal-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/jjpxdev-unreal-mcp
