# unity_prefab_set_reference

Wire an ObjectReference property on a component inside a prefab asset â€” no scene instance needed. Can reference project assets (materials, textures, prefabs, ScriptableObjects) or other GameObjects within the same prefab.

Agent View of the PolicyLayer registry record for `unity_prefab_set_reference`. HTML page: https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-prefab-set-reference

## Facts

- Tool: `unity_prefab_set_reference`
- Server: Unity MCP Server (`anklebreaker-studio/unity-mcp-server`) — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server.md
- Homepage: https://github.com/AnkleBreaker-Studio/unity-mcp-server
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

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

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "unity_prefab_set_reference",
    "arguments": {}
  }
}
```

## Why unity_prefab_set_reference is rated Medium

This tool modifies prefab asset data by setting ObjectReference properties on components. While this is destructive-adjacent (prefabs are project assets), the operation is reversible—references can be changed or cleared without permanent data loss. It falls under Write rather than Destructive because the prefab asset itself is not deleted and the change can be undone.

From the tool's own definition: "Tool name 'unity_prefab_set_reference' and description 'Wire an ObjectReference property on a component inside a prefab asset' indicate modification of prefab component properties."

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Unity MCP Server (337)

- `unity_amplify_remove_node` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-amplify-remove-node.md
- `unity_animation_remove_curve` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-animation-remove-curve.md
- `unity_animation_remove_event` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-animation-remove-event.md
- `unity_animation_remove_keyframe` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-animation-remove-keyframe.md
- `unity_animation_remove_layer` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-animation-remove-layer.md
- `unity_animation_remove_parameter` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-animation-remove-parameter.md
- `unity_animation_remove_state` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-animation-remove-state.md
- `unity_animation_remove_transition` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-animation-remove-transition.md
- `unity_asset_delete` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-asset-delete.md
- `unity_component_remove` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-component-remove.md
- `unity_console_clear` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-console-clear.md
- `unity_editorprefs_delete` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-editorprefs-delete.md
- `unity_gameobject_delete` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-gameobject-delete.md
- `unity_input_remove_action` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-input-remove-action.md
- `unity_input_remove_map` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-input-remove-map.md
- `unity_navmesh_clear` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-navmesh-clear.md
- `unity_packages_remove` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-packages-remove.md
- `unity_playerprefs_delete` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-playerprefs-delete.md
- `unity_playerprefs_delete_all` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-playerprefs-delete-all.md
- `unity_prefab_remove_component` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-prefab-remove-component.md
- `unity_prefab_remove_gameobject` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-prefab-remove-gameobject.md
- `unity_probuilder_delete_faces` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-probuilder-delete-faces.md
- `unity_scene_new` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-scene-new.md
- `unity_shadergraph_remove_node` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-shadergraph-remove-node.md
- `unity_spriteatlas_delete` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-spriteatlas-delete.md
- `unity_terrain_clear_detail` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-terrain-clear-detail.md
- `unity_terrain_clear_trees` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-terrain-clear-trees.md
- `unity_terrain_remove_layer` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-terrain-remove-layer.md
- `unity_terrain_remove_tree_prototype` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-terrain-remove-tree-prototype.md
- `unity_undo_clear` — Destructive — https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server/unity-undo-clear.md
- …and 307 more: https://policylayer.com/tools/anklebreaker-studio-unity-mcp-server.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=anklebreaker-studio-unity-mcp-server · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/anklebreaker-studio-unity-mcp-server
