Repository Analysis

CoplayDev/unity-mcp

Unity MCP acts as a bridge between AI assistants and your Unity Editor. Give your LLM tools to manage assets, control scenes, edit scripts, and automate tasks within Unity.

16.1 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of CoplayDev/unity-mcp, a C# project with 12,466 GitHub stars. SynthScan v2.0 examined 244,320 lines of code across 1140 source files, recording 2562 pattern matches distributed across 21 syntactic categories. The overall adjusted score of 16.1 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

16.1
Adjusted Score
16.1
Raw Score
100%
Time Factor
2026-07-13
Last Push
12.5K
Stars
C#
Language
244.3K
Lines of Code
1.1K
Files
2.6K
Pattern Hits
2026-07-14
Scan Date
0.02
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 22MEDIUM 608LOW 1932

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 2562 distinct pattern matches across 21 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Decorative Section Separators570 hits · 1921 pts
SeverityFileLineSnippetContext
MEDIUMtools/local_harness.py100# ===========================================================================COMMENT
MEDIUMtools/local_harness.py102# ===========================================================================COMMENT
MEDIUMtools/local_harness.py729# ===========================================================================COMMENT
MEDIUMtools/local_harness.py732# ===========================================================================COMMENT
MEDIUMtools/local_harness.py75# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/local_harness.py79# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/local_harness.py165# ===========================================================================COMMENT
MEDIUMtools/local_harness.py167# ===========================================================================COMMENT
MEDIUMtools/local_harness.py220# ===========================================================================COMMENT
MEDIUMtools/local_harness.py222# ===========================================================================COMMENT
MEDIUMtools/local_harness.py409# ===========================================================================COMMENT
MEDIUMtools/local_harness.py411# ===========================================================================COMMENT
MEDIUMtools/local_harness.py471# ===========================================================================COMMENT
MEDIUMtools/local_harness.py473# ===========================================================================COMMENT
MEDIUMtools/local_harness.py526# ===========================================================================COMMENT
MEDIUMtools/local_harness.py528# ===========================================================================COMMENT
MEDIUMtools/local_harness.py581# ===========================================================================COMMENT
MEDIUMtools/local_harness.py583# ===========================================================================COMMENT
MEDIUMtools/local_harness.py651# ===========================================================================COMMENT
MEDIUMtools/local_harness.py653# ===========================================================================COMMENT
MEDIUMtools/local_harness.py951# ===========================================================================COMMENT
MEDIUMtools/local_harness.py953# ===========================================================================COMMENT
MEDIUMtools/generate_docs_reference.py69# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/generate_docs_reference.py71# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/generate_docs_reference.py106# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/generate_docs_reference.py108# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/generate_docs_reference.py225# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/generate_docs_reference.py227# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/generate_docs_reference.py437# ---------------------------------------------------------------------------STRING
MEDIUMtools/generate_docs_reference.py439# ---------------------------------------------------------------------------STRING
MEDIUMtools/generate_docs_reference.py547# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/generate_docs_reference.py549# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/sync_release_notes.py71# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/sync_release_notes.py73# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/sync_release_notes.py148# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/sync_release_notes.py150# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/sync_release_notes.py265# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/sync_release_notes.py267# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/tests/test_local_harness.py341# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py343# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py399# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py401# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py463# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py465# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py547# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py549# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py632# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py634# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py686# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py688# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py700# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py704# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py740# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py744# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py788# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py792# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py57# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py59# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py86# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py88# ===========================================================================COMMENT
510 more matches not shown…
Hyper-Verbose Identifiers1186 hits · 1010 pts
SeverityFileLineSnippetContext
LOWmcp_source.py38def normalize_origin_to_https(url: str) -> str:CODE
LOWtools/local_harness.py257def read_secondary_install_path(platform: str | None = None,CODE
LOWtools/stress_editor_state.py83def make_get_editor_state_frame() -> bytes:CODE
LOWtools/tests/test_local_harness.py99 def test_unknown_platform_defaults_to_linux_layout(self):CODE
LOWtools/tests/test_local_harness.py108 def test_windows_hub_roots_use_program_files(self):CODE
LOWtools/tests/test_local_harness.py115 def test_windows_hub_roots_fallback_when_no_env(self):CODE
LOWtools/tests/test_local_harness.py119 def test_linux_hub_root_under_home(self):CODE
LOWtools/tests/test_local_harness.py127 def test_macos_resolves_hub_layout(self):CODE
LOWtools/tests/test_local_harness.py345 def test_project_version_takes_precedence(self, tmp_path):CODE
LOWtools/tests/test_local_harness.py359 def test_falls_back_to_default_version_when_no_project_file(self, tmp_path):CODE
LOWtools/tests/test_local_harness.py368 def test_returns_none_when_neither_source_present(self, tmp_path):CODE
LOWtools/tests/test_local_harness.py374 def test_project_version_tolerates_bom(self, tmp_path):CODE
LOWtools/tests/test_local_harness.py383 def test_malformed_default_version_json_returns_none(self, tmp_path):CODE
LOWtools/tests/test_local_harness.py390 def test_real_repo_versions_json_default(self):CODE
LOWtools/tests/test_local_harness.py450 def test_precedence_license_over_compile(self):CODE
LOWtools/tests/test_local_harness.py456 def test_compile_when_license_in_grace(self):CODE
LOWtools/tests/test_local_harness.py551 def test_merge_produces_wellformed_testsuites(self):CODE
LOWtools/tests/test_local_harness.py600 def test_merge_empty_suite_list_is_wellformed(self):CODE
LOWtools/tests/test_local_harness.py609 def test_merge_skips_none_suites(self):CODE
LOWtools/tests/test_local_harness.py615 def test_failure_message_attribute_is_capped(self):CODE
LOWtools/tests/test_local_harness.py623 def test_time_attributes_are_formatted(self):CODE
LOWtools/tests/test_local_harness.py665 def test_editor_arg_is_repeatable(self):CODE
LOWtools/tests/test_local_harness.py675 def test_numeric_args_are_typed(self):CODE
LOWtools/tests/test_local_harness.py690 def test_normalizes_and_dedupes(self):CODE
LOWtools/tests/test_local_harness.py696 def test_empty_string_is_empty_list(self):CODE
LOWtools/tests/test_local_harness.py706 def test_console_entries_bare_list_under_data(self):CODE
LOWtools/tests/test_local_harness.py712 def test_console_entries_paging_items_under_data(self):CODE
LOWtools/tests/test_local_harness.py716 def test_console_entries_result_wrapped(self):CODE
LOWtools/tests/test_local_harness.py720 def test_compile_probe_detects_cs_error(self):CODE
LOWtools/tests/test_local_harness.py728 def test_compile_probe_clean_project(self):CODE
LOWtools/tests/test_local_harness.py733 def test_compile_probe_inconclusive_does_not_block(self):CODE
LOWtools/tests/test_local_harness.py746 def test_retries_on_tests_running_then_succeeds(self, monkeypatch):CODE
LOWtools/tests/test_local_harness.py774 def test_hard_start_failure_returns_immediately(self):CODE
LOWtools/tests/test_local_harness.py780 def test_success_returns_job_id(self):CODE
LOWtools/tests/test_local_harness.py794 def test_poll_tolerates_timeout_then_returns_terminal(self, monkeypatch):CODE
LOWtools/tests/test_local_harness.py144 def test_windows_resolves_hub_layout(self):CODE
LOWtools/tests/test_local_harness.py161 def test_linux_resolves_hub_layout(self):CODE
LOWtools/tests/test_local_harness.py177 def test_explicit_editor_takes_precedence(self):CODE
LOWtools/tests/test_local_harness.py195 def test_unity_editor_env_override(self):CODE
LOWtools/tests/test_local_harness.py210 def test_not_found_raises_with_searched_paths(self):CODE
LOWtools/tests/test_local_harness.py229 def test_nearest_patch_fallback_same_major_minor(self):CODE
LOWtools/tests/test_local_harness.py259 def test_nearest_patch_never_crosses_major_minor(self):CODE
LOWtools/tests/test_local_harness.py283 def test_default_platform_darwin(self, monkeypatch):CODE
LOWtools/tests/test_local_harness.py299 def test_default_platform_linux(self, monkeypatch):CODE
LOWtools/tests/test_local_harness.py319 def test_secondary_root_used_for_candidate(self):CODE
LOWtools/tests/test_local_harness.py423 def test_license_suppressed_during_grace(self):CODE
LOWtools/tests/test_local_harness.py439 def test_clean_ready_log_is_ok(self):CODE
LOWtools/tests/test_local_harness.py500 def test_playmode_nonblocking_fail_does_not_raise_code(self):CODE
LOWtools/tests/test_local_harness.py511 def test_playmode_nonblocking_fail_alone_is_zero(self):CODE
LOWtools/tests/test_local_harness.py650 def test_legs_and_project_override(self):CODE
LOWtools/tests/test_local_harness.py761 def test_exhausts_after_persistent_tests_running(self, monkeypatch):CODE
LOWtools/tests/test_local_harness.py809 def test_poll_wedges_after_deadline_without_crashing(self, monkeypatch):CODE
LOWtools/tests/test_local_harness.py818 def test_start_tolerates_transport_exception_then_succeeds(self, monkeypatch):CODE
LOWtools/tests/test_build_release_characterization.py1327 def test_version_consistency_checklist(self, temp_repo, sample_package_json,CODE
LOWtools/tests/test_build_release_characterization.py1441 def test_git_tag_naming_convention(self):CODE
LOWtools/tests/test_build_release_characterization.py723 def test_line_removal_exact_match(self, unity_project_structure):CODE
LOWtools/tests/test_build_release_characterization.py769 def test_staged_copy_with_edits(self, unity_project_structure):CODE
LOWtools/tests/test_build_release_characterization.py831 def test_backup_existing_mcp_folder(self, mock_copytree, unity_project_structure):CODE
LOWtools/tests/test_build_release_characterization.py861 def test_dry_run_validation_without_changes(self, unity_project_structure):CODE
LOWtools/tests/test_build_release_characterization.py923 def test_port_discovery_from_status_files(self, mock_status_files):CODE
1126 more matches not shown…
Excessive Try-Catch Wrapping222 hits · 229 pts
SeverityFileLineSnippetContext
LOWmcp_source.py57 except Exception:CODE
LOWmcp_source.py132 except Exception as e:CODE
MEDIUMmcp_source.py133 print(f"Error: {e}", file=sys.stderr)CODE
LOWmcp_source.py140 except Exception as e:CODE
MEDIUMmcp_source.py141 print(f"Error: {e}", file=sys.stderr)CODE
LOWunity-mcp-skill/references/workflows.md2068except Exception as e:CODE
LOWtools/generate_mcpb.py141 except Exception as e:CODE
MEDIUMtools/generate_mcpb.py142 print(f"Error: {e}", file=sys.stderr)CODE
LOWtools/local_harness.py1071 except Exception:CODE
LOWtools/local_harness.py1130 except Exception:CODE
LOWtools/local_harness.py1164 except Exception:CODE
LOWtools/local_harness.py1273 except Exception:CODE
LOWtools/local_harness.py1414 except Exception:CODE
LOWtools/generate_docs_reference.py205 except Exception:CODE
LOWtools/generate_docs_reference.py460 except Exception:CODE
LOWtools/stress_mcp.py48 except Exception:CODE
LOWtools/stress_mcp.py124 except Exception:CODE
LOWtools/stress_mcp.py134 except Exception:CODE
LOWtools/stress_mcp.py149 except Exception:CODE
LOWtools/stress_mcp.py182 except Exception:CODE
LOWtools/stress_mcp.py219 except Exception:CODE
LOWtools/stress_mcp.py227 except Exception:CODE
LOWtools/stress_mcp.py291 except Exception:CODE
LOWtools/stress_mcp.py294 except Exception:CODE
LOWtools/stress_mcp.py302 except Exception:CODE
LOWtools/stress_mcp.py308 except Exception:CODE
LOWtools/stress_editor_state.py47 except Exception:CODE
LOWtools/stress_editor_state.py124 except Exception:CODE
LOWtools/stress_editor_state.py138 except Exception:CODE
LOWtools/stress_editor_state.py151 except Exception:CODE
LOWtools/update_versions.py281 except Exception as e:CODE
MEDIUMtools/update_versions.py282 print(f"Error: {e}", file=sys.stderr)CODE
LOW.claude/skills/unity-mcp-skill/references/workflows.md2066except Exception as e:CODE
LOWServer/tests/conftest.py25 except Exception as exc:CODE
LOWServer/tests/integration/test_transport_framing.py61 except Exception:CODE
LOWServer/tests/integration/test_transport_framing.py66 except Exception:CODE
LOWServer/tests/integration/test_transport_framing.py98 except Exception:CODE
LOWServer/tests/integration/test_transport_framing.py187 except Exception:CODE
LOWServer/tests/e2e/bridge_smoke.py184 except Exception as exc: # connection refused, timeout, etc.CODE
MEDIUMServer/src/main.py180def _emit_startup():CODE
LOWServer/src/main.py113 except Exception as exc:CODE
LOWServer/src/main.py116except Exception as exc:CODE
LOWServer/src/main.py125 except Exception:CODE
LOWServer/src/main.py135except Exception:CODE
LOWServer/src/main.py61except Exception:CODE
LOWServer/src/main.py187 except Exception:CODE
LOWServer/src/main.py233 except Exception as sync_exc:CODE
LOWServer/src/main.py246 except Exception as e:CODE
LOWServer/src/main.py265 except Exception as e:CODE
LOWServer/src/main.py529 except Exception as e:CODE
LOWServer/src/main.py548 except Exception as e:CODE
LOWServer/src/main.py610 except Exception as e:CODE
LOWServer/src/main.py881 except Exception as exc:STRING
LOWServer/src/main.py915 except Exception:STRING
LOWServer/src/transport/unity_transport.py37 except Exception as e:CODE
LOWServer/src/transport/unity_transport.py101 except Exception as exc:CODE
LOWServer/src/transport/plugin_hub.py722 except Exception as close_ex:CODE
LOWServer/src/transport/plugin_hub.py731 except Exception as send_ex:CODE
LOWServer/src/transport/plugin_hub.py739 except Exception:CODE
LOWServer/src/transport/plugin_hub.py745 except Exception as ex:CODE
162 more matches not shown…
Unused Imports170 hits · 151 pts
SeverityFileLineSnippetContext
LOWmcp_source.py16CODE
LOWtools/generate_mcpb.py15CODE
LOWtools/local_harness.py55CODE
LOWtools/generate_docs_reference.py30CODE
LOWtools/prepare_unity_asset_store_release.py10CODE
LOWtools/sync_release_notes.py20CODE
LOWtools/stress_editor_state.py24CODE
LOWtools/tests/test_local_harness.py27CODE
LOWtools/tests/test_build_release_characterization.py57CODE
LOWtools/tests/test_build_release_characterization.py61CODE
LOWtools/tests/test_build_release_characterization.py65CODE
LOWtools/tests/test_build_release_characterization.py65CODE
LOWtools/tests/test_build_release_characterization.py65CODE
LOWtools/tests/test_build_release_characterization.py66CODE
LOWtools/tests/test_build_release_characterization.py66CODE
LOWServer/tests/test_manage_profiler.py1CODE
LOWServer/tests/test_manage_vfx_actions.py1CODE
LOWServer/tests/test_unity_reflect.py1CODE
LOWServer/tests/test_unity_reflect.py10CODE
LOWServer/tests/test_manage_animation.py4CODE
LOWServer/tests/test_manage_probuilder.py1CODE
LOWServer/tests/test_param_normalizer.py6CODE
LOWServer/tests/test_log_paths.py3CODE
LOWServer/tests/test_unity_docs.py1CODE
LOWServer/tests/test_cli_commands_characterization.py26CODE
LOWServer/tests/test_cli_commands_characterization.py28CODE
LOWServer/tests/test_cli_commands_characterization.py28CODE
LOWServer/tests/test_manage_editor.py3CODE
LOWServer/tests/test_manage_editor.py10CODE
LOWServer/tests/test_manage_editor.py11CODE
LOWServer/tests/test_transport_characterization.py18CODE
LOWServer/tests/test_transport_characterization.py18CODE
LOWServer/tests/test_transport_characterization.py19CODE
LOWServer/tests/test_transport_characterization.py19CODE
LOWServer/tests/test_transport_characterization.py20CODE
LOWServer/tests/test_transport_characterization.py24CODE
LOWServer/tests/test_models_characterization.py30CODE
LOWServer/tests/test_models_characterization.py30CODE
LOWServer/tests/test_manage_camera.py1CODE
LOWServer/tests/test_manage_graphics.py1CODE
LOWServer/tests/test_cli.py11CODE
LOWServer/tests/test_focus_nudge.py4CODE
LOWServer/tests/test_focus_nudge.py8CODE
LOW…ver/tests/test_core_infrastructure_characterization.py21CODE
LOW…ver/tests/test_core_infrastructure_characterization.py28CODE
LOW…ver/tests/test_core_infrastructure_characterization.py28CODE
LOW…ver/tests/test_core_infrastructure_characterization.py48CODE
LOW…tests/integration/test_multi_user_session_isolation.py8CODE
LOWServer/tests/integration/test_manage_ui.py6CODE
LOWServer/tests/integration/test_api_key_service.py10CODE
LOWServer/tests/integration/test_connection_deadline.py2CODE
LOW…er/tests/integration/test_plugin_hub_websocket_auth.py5CODE
LOW…er/tests/integration/test_plugin_hub_websocket_auth.py5CODE
LOWServer/tests/integration/test_telemetry_subaction.py7CODE
LOW…/tests/integration/test_middleware_auth_integration.py5CODE
LOWServer/tests/integration/test_transport_framing.py2CODE
LOWServer/tests/integration/test_manage_texture.py3CODE
LOW…r/tests/integration/test_refresh_unity_registration.py9CODE
LOW…ver/tests/integration/test_external_changes_scanner.py3CODE
LOW…ver/tests/integration/test_editor_state_v2_contract.py14CODE
110 more matches not shown…
Structural Annotation Overuse64 hits · 105 pts
SeverityFileLineSnippetContext
LOWunity-mcp-skill/references/workflows.md67# Step 0: Create fresh empty scene (replaces current scene entirely)COMMENT
LOWunity-mcp-skill/references/workflows.md608### Step 0: Detect Project UI CapabilitiesCOMMENT
LOWunity-mcp-skill/references/workflows.md981# Step 1: Create hierarchyCOMMENT
LOWunity-mcp-skill/references/workflows.md1062# Step 2: Wire Slider references (CRITICAL — slider won't work without this)COMMENT
LOWunity-mcp-skill/references/workflows.md1080# Step 1: Create hierarchyCOMMENT
LOWunity-mcp-skill/references/workflows.md1143# Step 2: Wire TMP_InputField references (CRITICAL)COMMENT
LOWunity-mcp-skill/references/workflows.md1917# Step 1: Search for the type you needCOMMENT
LOWunity-mcp-skill/references/workflows.md1921# Step 2: Get member summary for the typeCOMMENT
LOWunity-mcp-skill/references/workflows.md1925# Step 3: Get full signature for specific members you plan to useCOMMENT
LOWunity-mcp-skill/references/workflows.md1929# Step 4: Get official docs for usage patterns and examplesCOMMENT
LOWunity-mcp-skill/references/probuilder-guide.md14# Step 1: Get face info with directionsCOMMENT
LOWunity-mcp-skill/references/probuilder-guide.md24# Step 2: Use the direction labels to pick facesCOMMENT
LOWtools/tests/test_build_release_characterization.py1611 # Step 1: Dry-runSTRING
LOWtools/tests/test_build_release_characterization.py1614 # Step 2: Real updateSTRING
LOWtools/tests/test_build_release_characterization.py1625 # Step 3: ValidateSTRING
LOWtools/tests/test_build_release_characterization.py1629 # Step 4: Would create git commit with message:STRING
LOWtools/tests/test_build_release_characterization.py1632 # Step 5: Would create git tag:STRING
LOWMCPForUnity/Editor/Tools/ManageEditor.cs29 // Step 1: Null parameter guard (consistent across all tools)COMMENT
LOWMCPForUnity/Editor/Tools/ManageEditor.cs35 // Step 2: Wrap parametersCOMMENT
LOWMCPForUnity/Editor/Tools/ManageEditor.cs38 // Step 3: Extract and validate required parametersCOMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs2658 // Step 1: Build a code-only view (comments/strings replaced with spaces)COMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs2675 // Step 2: Build containing type name at each position via single passCOMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs2750 // Step 3: Match method signatures on code-only text (includes => for expression-bodied)COMMENT
LOWMCPForUnity/Editor/Services/Server/ProcessDetector.cs181 // Step 1: Check if process name matches known server executablesCOMMENT
LOWMCPForUnity/Editor/Services/Server/ProcessDetector.cs192 // Step 2: Try to get command line with wmic for better validationCOMMENT
LOWwebsite/docs/guides/custom-tools.md13## Step 1: Create Your Tool HandlerCOMMENT
LOWwebsite/docs/guides/custom-tools.md68## Step 2: Refresh Your MCP ClientCOMMENT
LOWwebsite/docs/guides/custom-tools.md76## Step 3: List and Call Your Tool from the CLICOMMENT
LOW.claude/skills/unity-mcp-skill/references/workflows.md67# Step 0: Create fresh empty scene (replaces current scene entirely)COMMENT
LOW.claude/skills/unity-mcp-skill/references/workflows.md608### Step 0: Detect Project UI CapabilitiesCOMMENT
LOW.claude/skills/unity-mcp-skill/references/workflows.md981# Step 1: Create hierarchyCOMMENT
LOW.claude/skills/unity-mcp-skill/references/workflows.md1062# Step 2: Wire Slider references (CRITICAL — slider won't work without this)COMMENT
LOW.claude/skills/unity-mcp-skill/references/workflows.md1080# Step 1: Create hierarchyCOMMENT
LOW.claude/skills/unity-mcp-skill/references/workflows.md1143# Step 2: Wire TMP_InputField references (CRITICAL)COMMENT
LOW.claude/skills/unity-mcp-skill/references/workflows.md1915# Step 1: Search for the type you needCOMMENT
LOW.claude/skills/unity-mcp-skill/references/workflows.md1919# Step 2: Get member summary for the typeCOMMENT
LOW.claude/skills/unity-mcp-skill/references/workflows.md1923# Step 3: Get full signature for specific members you plan to useCOMMENT
LOW.claude/skills/unity-mcp-skill/references/workflows.md1927# Step 4: Get official docs for usage patterns and examplesCOMMENT
LOWServer/src/cli/commands/ui.py38 # Step 1: Create empty GameObjectCOMMENT
LOWServer/src/cli/commands/ui.py48 # Step 2: Add Canvas componentsCOMMENT
LOWServer/src/cli/commands/ui.py119 # Step 2: Add RectTransform and TextMeshProUGUICOMMENT
LOWServer/src/cli/commands/ui.py126 # Step 3: Set text contentCOMMENT
LOWServer/src/cli/commands/ui.py172 # Step 2: Add Button and Image componentsCOMMENT
LOWServer/src/cli/commands/ui.py180 # Step 3: Create child label GameObjectCOMMENT
LOWServer/src/cli/commands/ui.py188 # Step 4: Add TextMeshProUGUI to label and set textCOMMENT
LOWServer/src/cli/commands/ui.py240 # Step 2: Add Image componentCOMMENT
LOWServer/src/cli/commands/ui.py247 # Step 3: Set sprite if providedCOMMENT
LOWServer/src/cli/commands/ui.py63 # Step 3: Set render modeCOMMENT
LOWServer/src/cli/commands/ui.py107 # Step 1: Create empty GameObject with parentCOMMENT
LOWServer/src/cli/commands/ui.py161 # Step 1: Create empty GameObject with parentCOMMENT
LOWServer/src/cli/commands/ui.py229 # Step 1: Create empty GameObject with parentCOMMENT
LOWServer/src/cli/commands/code.py195 # Step 1: Read the file via Unity's manage_scriptCOMMENT
LOWServer/src/cli/commands/code.py227 # Step 2: Perform regex search locallyCOMMENT
LOWServer/src/cli/commands/lighting.py58 # Step 1: Create empty GameObject with positionCOMMENT
LOWServer/src/cli/commands/lighting.py69 # Step 2: Add Light component using manage_componentsCOMMENT
LOWServer/src/cli/commands/lighting.py80 # Step 3: Set light type using manage_components set_propertyCOMMENT
LOWServer/src/cli/commands/lighting.py93 # Step 4: Set color if providedCOMMENT
LOWServer/src/cli/commands/lighting.py107 # Step 5: Set intensity if providedCOMMENT
LOW…s/Editor/Validator/Scripts/ExternalProjectValidator.cs37 // Step 1 - prepare a temporary projectCOMMENT
LOW…s/Editor/Validator/Scripts/ExternalProjectValidator.cs44 // Step 2 - load the temporary project and validate the packageCOMMENT
4 more matches not shown…
Over-Commented Block102 hits · 102 pts
SeverityFileLineSnippetContext
LOWunity-mcp-skill/references/resources-reference.md641# Always check mcpforunity://instances when:COMMENT
LOWtools/pypi_publish.sh1#!/usr/bin/env bashCOMMENT
LOWtools/docker_publish.sh1# Publish a Docker image (manual).COMMENT
LOWtools/check-unity-versions.sh1#!/usr/bin/env bashCOMMENT
LOWMCPForUnity/Runtime/Helpers/UnityPhysicsCompat.cs1using System;COMMENT
LOWMCPForUnity/Runtime/Helpers/UnityObjectIdCompat.cs1using UnityEngine;COMMENT
LOWMCPForUnity/Runtime/Helpers/UnityFindObjectsCompat.cs1using System;COMMENT
LOWMCPForUnity/Runtime/Helpers/UnityCompatShims.cs1namespace MCPForUnity.Runtime.HelpersCOMMENT
LOWMCPForUnity/Runtime/Helpers/UnityCompatShims.cs21 /// 3. A future Unity version has announced rename or removal.COMMENT
LOWMCPForUnity/Runtime/Helpers/UnityAssembliesCompat.cs1using System;COMMENT
LOWMCPForUnity/Editor/Clients/IMcpClientConfigurator.cs21 /// The transport type the client is currently configured for.COMMENT
LOWMCPForUnity/Editor/Clients/IMcpClientConfigurator.cs41COMMENT
LOWMCPForUnity/Editor/Tools/ManageScriptableObject.cs621 // Unity supports resizing either:COMMENT
LOWMCPForUnity/Editor/Tools/ManageScriptableObject.cs1081 /// <para><b>Keyframe fields:</b></para>COMMENT
LOWMCPForUnity/Editor/Tools/ManageScriptableObject.cs1181 /// <summary>COMMENT
LOWMCPForUnity/Editor/Tools/McpForUnityToolAttribute.cs21 /// <summary>COMMENT
LOWMCPForUnity/Editor/Tools/McpForUnityToolAttribute.cs41COMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs21using UnityEditor.Compilation;COMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs41 /// - Download Microsoft.CodeAnalysis.CSharp.dll and dependenciesCOMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs2861 }COMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs2881 // switch (validationLevel.ToLower())COMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs2901 // errorCount = errors.Length,COMMENT
LOWMCPForUnity/Editor/Tools/ProBuilder/ManageProBuilder.cs21 /// - create_poly_shape: Create from 2D polygon footprint (points, extrudeHeight, flipNormals)COMMENT
LOWMCPForUnity/Editor/Tools/ProBuilder/ManageProBuilder.cs41 /// - weld_vertices: Weld vertices within proximity radius (vertexIndices, radius)COMMENT
LOWMCPForUnity/Editor/Tools/ProBuilder/ManageProBuilder.cs141 /// bypassing the shader's own Emission block (which is correctly wired to black).COMMENT
LOWMCPForUnity/Editor/Tools/Vfx/ManageVFX.cs21 ///COMMENT
LOWMCPForUnity/Editor/Tools/Vfx/ManageVFX.cs41 /// - Materials are cached to avoid recreationCOMMENT
LOWMCPForUnity/Editor/Tools/Vfx/ManageVFX.cs61 /// - particle_clear_bursts: Clear all burstsCOMMENT
LOWMCPForUnity/Editor/Tools/Vfx/ManageVFX.cs81 /// - vfx_set_seed: Set random seed (seed, resetSeedOnPlay)COMMENT
LOWMCPForUnity/Editor/Tools/Vfx/ManageVFX.cs101 /// - trail_set_time: Set trail duration (time)COMMENT
LOW…nity/Editor/Security/SecureKeyStore/ISecureKeyStore.cs1namespace MCPForUnity.Editor.SecurityCOMMENT
LOW…Unity/Editor/Resources/McpForUnityResourceAttribute.cs1using System;COMMENT
LOW…ty/Editor/Dependencies/Models/DependencyCheckResult.cs21 public bool IsSystemReady { get; set; }COMMENT
LOW…orUnity/Editor/Dependencies/Models/DependencyStatus.cs21 /// <summary>COMMENT
LOW…or/Dependencies/PlatformDetectors/IPlatformDetector.cs21 /// Detect Python installation on this platformCOMMENT
LOW…rUnity/Editor/Windows/Components/Branding/OceanMark.cs1using UnityEngine;COMMENT
LOW…rUnity/Editor/Helpers/EditorWindowScreenshotUtility.cs21 private const int RepaintSettlingDelayMs = 75;COMMENT
LOWMCPForUnity/Editor/Helpers/GameObjectLookup.cs81 return ResolveInstanceID(instanceId) as GameObject;COMMENT
LOWMCPForUnity/Editor/Helpers/ScreenshotPreferences.cs1using MCPForUnity.Runtime.Helpers;COMMENT
LOWMCPForUnity/Editor/Helpers/AssetPathUtility.cs321 /// Builds the uvx package source arguments for the MCP server.COMMENT
LOWMCPForUnity/Editor/Helpers/Pagination.cs81 /// <summary>COMMENT
LOWMCPForUnity/Editor/Helpers/VectorParsing.cs281 /// <summary>COMMENT
LOWMCPForUnity/Editor/Helpers/VectorParsing.cs401 /// COMMENT
LOWMCPForUnity/Editor/Helpers/VectorParsing.cs461COMMENT
LOWMCPForUnity/Editor/Helpers/UnityTypeResolver.cs181 var candidates = fromPlayer.ToList();COMMENT
LOWMCPForUnity/Editor/Helpers/PortManager.cs61 int newPort = FindAvailablePort();COMMENT
LOWMCPForUnity/Editor/Helpers/RendererHelpers.cs181 if (@params["endWidth"] != null) { setEndWidth(@params["endWidth"].ToObject<float>()); changes.Add("endWidthCOMMENT
LOWMCPForUnity/Editor/Services/EditorStateCache.cs541 // 6000.4 — neither public nor non-public), so the reflection this replaced neverCOMMENT
LOWMCPForUnity/Editor/Services/IPackageUpdateService.cs1namespace MCPForUnity.Editor.ServicesCOMMENT
LOWMCPForUnity/Editor/Services/IPackageUpdateService.cs21 /// <summary>COMMENT
LOWMCPForUnity/Editor/Services/IPackageUpdateService.cs41 /// <param name="version1">First version string</param>COMMENT
LOWMCPForUnity/Editor/Services/IPackageUpdateService.cs61 void ClearCache();COMMENT
LOW…PForUnity/Editor/Services/IResourceDiscoveryService.cs21 public interface IResourceDiscoveryServiceCOMMENT
LOWMCPForUnity/Editor/Services/EditorConfigurationCache.cs61 /// Whether to use HTTP transport (true) or Stdio transport (false).COMMENT
LOWMCPForUnity/Editor/Services/EditorConfigurationCache.cs81 /// </summary>COMMENT
LOWMCPForUnity/Editor/Services/EditorConfigurationCache.cs101COMMENT
LOWMCPForUnity/Editor/Services/IBridgeControlService.cs21 /// <summary>COMMENT
LOWMCPForUnity/Editor/Services/IBridgeControlService.cs41COMMENT
LOWMCPForUnity/Editor/Services/IBridgeControlService.cs61 {COMMENT
LOWMCPForUnity/Editor/Services/IServerManagementService.cs1namespace MCPForUnity.Editor.ServicesCOMMENT
42 more matches not shown…
Deep Nesting93 hits · 78 pts
SeverityFileLineSnippetContext
LOWtools/local_harness.py1185CODE
LOWtools/local_harness.py1355CODE
LOWtools/local_harness.py826CODE
LOWtools/local_harness.py1409CODE
LOWtools/generate_docs_reference.py578CODE
LOWtools/stress_mcp.py31CODE
LOWtools/stress_mcp.py96CODE
LOWtools/stress_mcp.py138CODE
LOWtools/stress_editor_state.py88CODE
LOWServer/tests/test_transport_characterization.py270CODE
LOWServer/tests/test_transport_characterization.py323CODE
LOWServer/tests/test_transport_characterization.py377CODE
LOWServer/tests/test_transport_characterization.py433CODE
LOWServer/tests/test_transport_characterization.py477CODE
LOWServer/tests/test_transport_characterization.py517CODE
LOWServer/tests/test_transport_characterization.py556CODE
LOWServer/tests/test_transport_characterization.py601CODE
LOWServer/tests/test_transport_characterization.py640CODE
LOWServer/tests/integration/test_transport_framing.py28CODE
LOWServer/tests/integration/test_transport_framing.py76CODE
LOWServer/tests/integration/test_transport_framing.py36CODE
LOWServer/tests/integration/test_transport_framing.py84CODE
LOWServer/tests/integration/test_logging_stdout.py21CODE
LOWServer/src/main.py150CODE
LOWServer/src/main.py375CODE
LOWServer/src/main.py655CODE
LOWServer/src/main.py414CODE
LOWServer/src/main.py552CODE
LOWServer/src/transport/plugin_registry.py115CODE
LOWServer/src/transport/plugin_hub.py223CODE
LOWServer/src/transport/plugin_hub.py286CODE
LOWServer/src/transport/plugin_hub.py429CODE
LOWServer/src/transport/plugin_hub.py690CODE
LOWServer/src/transport/plugin_hub.py991CODE
LOWServer/src/transport/unity_instance_middleware.py97CODE
LOWServer/src/transport/unity_instance_middleware.py215CODE
LOWServer/src/transport/unity_instance_middleware.py324CODE
LOWServer/src/transport/legacy/port_discovery.py64CODE
LOWServer/src/transport/legacy/port_discovery.py134CODE
LOWServer/src/transport/legacy/port_discovery.py226CODE
LOWServer/src/transport/legacy/unity_connection.py946CODE
LOWServer/src/transport/legacy/unity_connection.py53CODE
LOWServer/src/transport/legacy/unity_connection.py173CODE
LOWServer/src/transport/legacy/unity_connection.py276CODE
LOWServer/src/transport/legacy/unity_connection.py299CODE
LOWServer/src/core/telemetry_decorator.py17CODE
LOWServer/src/core/telemetry_decorator.py19CODE
LOWServer/src/core/telemetry_decorator.py21CODE
LOWServer/src/core/telemetry_decorator.py64CODE
LOWServer/src/core/telemetry.py259CODE
LOWServer/src/core/telemetry.py373CODE
LOWServer/src/utils/focus_nudge.py135CODE
LOWServer/src/utils/focus_nudge.py177CODE
LOWServer/src/utils/focus_nudge.py243CODE
LOWServer/src/cli/main.py140CODE
LOWServer/src/cli/utils/output.py35CODE
LOWServer/src/cli/utils/output.py92CODE
LOWServer/src/cli/commands/prefab.py146CODE
LOWServer/src/cli/commands/prefab.py255CODE
LOWServer/src/cli/commands/texture.py104CODE
33 more matches not shown…
Verbosity Indicators36 hits · 55 pts
SeverityFileLineSnippetContext
LOWtools/tests/test_build_release_characterization.py1611 # Step 1: Dry-runSTRING
LOWtools/tests/test_build_release_characterization.py1614 # Step 2: Real updateSTRING
LOWtools/tests/test_build_release_characterization.py1625 # Step 3: ValidateSTRING
LOWtools/tests/test_build_release_characterization.py1629 # Step 4: Would create git commit with message:STRING
LOWtools/tests/test_build_release_characterization.py1632 # Step 5: Would create git tag:STRING
LOWMCPForUnity/Editor/Tools/ManageEditor.cs29 // Step 1: Null parameter guard (consistent across all tools)COMMENT
LOWMCPForUnity/Editor/Tools/ManageEditor.cs35 // Step 2: Wrap parametersCOMMENT
LOWMCPForUnity/Editor/Tools/ManageEditor.cs38 // Step 3: Extract and validate required parametersCOMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs2658 // Step 1: Build a code-only view (comments/strings replaced with spaces)COMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs2675 // Step 2: Build containing type name at each position via single passCOMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs2750 // Step 3: Match method signatures on code-only text (includes => for expression-bodied)COMMENT
LOWMCPForUnity/Editor/Services/Server/ProcessDetector.cs181 // Step 1: Check if process name matches known server executablesCOMMENT
LOWMCPForUnity/Editor/Services/Server/ProcessDetector.cs192 // Step 2: Try to get command line with wmic for better validationCOMMENT
LOWServer/src/cli/commands/ui.py38 # Step 1: Create empty GameObjectCOMMENT
LOWServer/src/cli/commands/ui.py48 # Step 2: Add Canvas componentsCOMMENT
LOWServer/src/cli/commands/ui.py119 # Step 2: Add RectTransform and TextMeshProUGUICOMMENT
LOWServer/src/cli/commands/ui.py126 # Step 3: Set text contentCOMMENT
LOWServer/src/cli/commands/ui.py172 # Step 2: Add Button and Image componentsCOMMENT
LOWServer/src/cli/commands/ui.py180 # Step 3: Create child label GameObjectCOMMENT
LOWServer/src/cli/commands/ui.py188 # Step 4: Add TextMeshProUGUI to label and set textCOMMENT
LOWServer/src/cli/commands/ui.py240 # Step 2: Add Image componentCOMMENT
LOWServer/src/cli/commands/ui.py247 # Step 3: Set sprite if providedCOMMENT
LOWServer/src/cli/commands/ui.py63 # Step 3: Set render modeCOMMENT
LOWServer/src/cli/commands/ui.py107 # Step 1: Create empty GameObject with parentCOMMENT
LOWServer/src/cli/commands/ui.py161 # Step 1: Create empty GameObject with parentCOMMENT
LOWServer/src/cli/commands/ui.py229 # Step 1: Create empty GameObject with parentCOMMENT
LOWServer/src/cli/commands/code.py195 # Step 1: Read the file via Unity's manage_scriptCOMMENT
LOWServer/src/cli/commands/code.py227 # Step 2: Perform regex search locallyCOMMENT
LOWServer/src/cli/commands/lighting.py58 # Step 1: Create empty GameObject with positionCOMMENT
LOWServer/src/cli/commands/lighting.py69 # Step 2: Add Light component using manage_componentsCOMMENT
LOWServer/src/cli/commands/lighting.py80 # Step 3: Set light type using manage_components set_propertyCOMMENT
LOWServer/src/cli/commands/lighting.py93 # Step 4: Set color if providedCOMMENT
LOWServer/src/cli/commands/lighting.py107 # Step 5: Set intensity if providedCOMMENT
LOW…ts/Tests/EditMode/Tools/DomainReloadResilienceTests.cs74 // Step 1: Create a script to trigger domain reloadCOMMENT
LOW…ts/Tests/EditMode/Tools/DomainReloadResilienceTests.cs92 // Step 2: Make multiple rapid read_console callsCOMMENT
LOW…ts/Tests/EditMode/Tools/DomainReloadResilienceTests.cs126 // Step 3: Verify all calls succeededCOMMENT
AI Slop Vocabulary19 hits · 51 pts
SeverityFileLineSnippetContext
MEDIUMtools/local_harness.py96# recommendation, so the harness passes it explicitly.COMMENT
MEDIUMtools/local_harness.py730# Launcher seam (local vs docker). Inlined here so the harness is a single,COMMENT
MEDIUMtools/local_harness.py701# discover_editor / resolve_version / classify_log / aggregate_exit; the harnessCOMMENT
MEDIUMtools/local_harness.py1167 # frees up or the deadline expires (rather than crashing the harness).COMMENT
MEDIUMtools/tests/test_local_harness.py669 # harness docstring's -manualLicenseFile example must be passed).COMMENT
MEDIUMtools/tests/test_local_harness.py791# must treat a raised transport error as non-terminal, not crash the harness.COMMENT
MEDIUMtools/tests/test_build_release_characterization.py1329 """Test comprehensive version consistency validation checklist.STRING
MEDIUMtools/tests/test_build_release_characterization.py388 """Test comprehensive version consistency check across all files.STRING
MEDIUMMCPForUnity/Editor/Tools/ManageScriptableObject.cs606 // Use ParamCoercion for robust int parsingCOMMENT
MEDIUMMCPForUnity/Editor/Tools/ManageScriptableObject.cs923 // Use ParamCoercion for robust bool parsing (handles "true", "1", "yes", etc.)COMMENT
MEDIUMMCPForUnity/Editor/Tools/ManageScriptableObject.cs946 // Use ParamCoercion for robust float parsingCOMMENT
MEDIUMMCPForUnity/Editor/Tools/ManageAsset.cs427 // Deprecated: Prefer manage_scriptable_object for robust patching.COMMENT
MEDIUMMCPForUnity/Editor/Helpers/ComponentOps.cs871 /// to a SerializedProperty. Uses GameObjectLookup for robust searchCOMMENT
MEDIUM…s/RoslynRuntimeCompilation/ManageRuntimeCompilation.cs508 /// This allows MCP commands to leverage the existing GUI toolCOMMENT
LOWServer/tests/test_transport_characterization.py1500 # Should not raise, just return NoneCOMMENT
LOWServer/src/services/tools/find_in_file.py164 # We can just return the line content as excerptCOMMENT
MEDIUMServer/src/services/tools/manage_asset.py62 # --- Normalize properties using robust module-level helper ---COMMENT
LOW.github/workflows/claude-nl-suite.yml1011 # Otherwise, just return the canonical IDSTRING
MEDIUM.github/workflows/e2e-bridge.yml169 # In --ci mode the harness drives the DockerLauncher: it runs the sameCOMMENT
Cross-File Repetition9 hits · 45 pts
SeverityFileLineSnippetContext
HIGHServer/tests/test_manage_profiler.py0patch unity transport layer and return captured call dict.STRING
HIGHServer/tests/test_unity_reflect.py0patch unity transport layer and return captured call dict.STRING
HIGHServer/tests/test_manage_probuilder.py0patch unity transport layer and return captured call dict.STRING
HIGHServer/tests/test_manage_build.py0patch unity transport layer and return captured call dict.STRING
HIGHServer/tests/test_manage_camera.py0patch unity transport layer and return captured call dict.STRING
HIGHServer/tests/test_manage_graphics.py0patch unity transport layer and return captured call dict.STRING
HIGHServer/tests/test_unity_reflect.py0when unity returns a non-dict, it should be wrapped.STRING
HIGHServer/tests/test_manage_camera.py0when unity returns a non-dict, it should be wrapped.STRING
HIGHServer/tests/test_manage_graphics.py0when unity returns a non-dict, it should be wrapped.STRING
Redundant / Tautological Comments20 hits · 29 pts
SeverityFileLineSnippetContext
LOWServer/tests/conftest.py54 # Check if test is in integration/ directoryCOMMENT
LOWServer/src/transport/plugin_hub.py702 # Check if we're still supposed to be running and get last pong time (under lock)COMMENT
LOWServer/src/transport/legacy/unity_connection.py229 # Check if we've received a complete responseCOMMENT
LOWServer/src/utils/focus_nudge.py574 # Check if Unity is already focused (no nudge needed)STRING
LOWServer/src/utils/focus_nudge.py648 # Check if job appears stalledSTRING
LOWServer/src/utils/module_discovery.py42 # Check if subdirectory contains Python modulesCOMMENT
LOWServer/src/cli/commands/code.py265 # Display resultsCOMMENT
LOWServer/src/cli/commands/lighting.py121 # Output the resultCOMMENT
LOWServer/src/services/tools/manage_gameobject.py206 # Check if 'saveAsPrefab' is explicitly True in paramsCOMMENT
LOWServer/src/services/tools/manage_gameobject.py230 # Check if the response indicates successCOMMENT
LOWServer/src/services/tools/run_tests.py277 # Check if tests are doneCOMMENT
LOWServer/src/services/tools/run_tests.py291 # Check if Unity needs a focus nudge to make progressCOMMENT
LOWServer/src/services/tools/utils.py245 # Check if it looks like a JSON array but will fail to parseCOMMENT
LOWServer/src/services/tools/utils.py296 # Check if input is normalized (0-1) or already 0-255COMMENT
LOWServer/src/services/tools/manage_script.py121 # Read file to support index->line/col conversion when neededCOMMENT
LOWServer/src/services/resources/__init__.py75 # Check if URI contains query parameters (e.g., {?unity_instance})COMMENT
LOW.github/workflows/release.yml120 # Check if beta has changes not in mainCOMMENT
LOW.github/workflows/beta-release.yml55 # Check if already a beta version - increment beta numberCOMMENT
LOW.github/workflows/beta-release.yml129 # Check if PR already existsCOMMENT
LOW.github/workflows/beta-release.yml188 # Check if already a beta/prerelease versionCOMMENT
Self-Referential Comments9 hits · 28 pts
SeverityFileLineSnippetContext
MEDIUMServer/tests/test_cli.py1269 # Create a temp batch fileCOMMENT
MEDIUM…ver/tests/integration/test_external_changes_scanner.py12 # Create a minimal Unity-like layoutCOMMENT
MEDIUM…ver/tests/integration/test_external_changes_scanner.py22 # Create a file before baseline so the initial scan establishes a stable reference point.COMMENT
MEDIUM…ver/tests/integration/test_domain_reload_resilience.py22 # Create a mock registryCOMMENT
MEDIUM…ver/tests/integration/test_domain_reload_resilience.py77 # Create a mock registry that never returns sessionsCOMMENT
MEDIUM…ver/tests/integration/test_domain_reload_resilience.py227 # Create a mock registry with two sessionsCOMMENT
MEDIUMServer/src/core/config.py68# Create a global config instanceCOMMENT
MEDIUMServer/src/services/registry/tool_registry.py67 tool_kwargs = dict(kwargs) # Create a copy to avoid side effectsCODE
MEDIUM.github/workflows/beta-release.yml120 # Create a temporary branch for the version updateCOMMENT
Docstring Block Structure5 hits · 25 pts
SeverityFileLineSnippetContext
HIGHServer/src/transport/legacy/unity_connection.py559 Resolve an instance identifier to a specific Unity instance. Args: instance_identifier: UsSTRING
HIGHServer/src/transport/legacy/unity_connection.py673 Get or create a connection to a Unity instance. Args: instance_identifier: Optional identiSTRING
HIGHServer/src/cli/utils/parsers.py10Parse a value, trying JSON → float → string fallback. This is used for property values that could be JSON objects/aSTRING
HIGHServer/src/cli/utils/connection.py76Send a command to Unity via the MCP HTTP server. Args: command_type: The command type (e.g., 'manage_gameobSTRING
HIGHServer/src/cli/utils/confirmation.py13Prompt user to confirm destructive action unless --force flag is set. Args: action: The action being perforSTRING
Magic Placeholder Names4 hits · 20 pts
SeverityFileLineSnippetContext
HIGHwebsite/docs/guides/remote-server-auth.md108 "X-API-Key": "<your-api-key>"CODE
HIGHwebsite/docs/guides/remote-server-auth.md119 --header "X-API-Key: <your-api-key>"CODE
HIGHServer/README.md229 "X-API-Key": "<your-api-key>"CODE
HIGHServer/DOCKER_OVERVIEW.md103 "X-API-Key": "<your-api-key>"CODE
AI Structural Patterns19 hits · 18 pts
SeverityFileLineSnippetContext
LOWServer/src/services/tools/manage_prefabs.py48CODE
LOWServer/src/services/tools/manage_gameobject.py54CODE
LOWServer/src/services/tools/run_tests.py154CODE
LOWServer/src/services/tools/manage_graphics.py81CODE
LOWServer/src/services/tools/manage_material.py24CODE
LOWServer/src/services/tools/read_console.py29CODE
LOWServer/src/services/tools/generate_image.py40CODE
LOWServer/src/services/tools/manage_asset.py30CODE
LOWServer/src/services/tools/manage_texture.py389CODE
LOWServer/src/services/tools/utils.py459CODE
LOWServer/src/services/tools/manage_build.py50CODE
LOWServer/src/services/tools/manage_physics.py54CODE
LOWServer/src/services/tools/unity_docs.py722CODE
LOWServer/src/services/tools/manage_profiler.py63CODE
LOWServer/src/services/tools/manage_ui.py54CODE
LOWServer/src/services/tools/import_model.py42CODE
LOWServer/src/services/tools/manage_scene.py28CODE
LOWServer/src/services/tools/generate_model.py39CODE
LOWServer/src/services/tools/manage_camera.py79CODE
Modern Structural Boilerplate18 hits · 18 pts
SeverityFileLineSnippetContext
LOWServer/tests/conftest.py8logger = logging.getLogger(__name__)CODE
LOWServer/src/transport/plugin_registry.py189__all__ = ["PluginRegistry", "PluginSession"]CODE
LOWServer/src/transport/unity_transport.py14logger = logging.getLogger(__name__)CODE
LOWServer/src/transport/plugin_hub.py37logger = logging.getLogger(__name__)CODE
LOWServer/src/transport/unity_instance_middleware.py39def set_unity_instance_middleware(middleware: 'UnityInstanceMiddleware') -> None:CODE
LOWServer/src/transport/unity_instance_middleware.py72 async def set_active_instance(self, ctx, instance_id: str) -> None:CODE
LOWServer/src/utils/focus_nudge.py20logger = logging.getLogger(__name__)CODE
LOWServer/src/models/__init__.py4__all__ = ['MCPResponse', 'UnityInstanceInfo', 'normalize_unity_response', 'parse_resource_response']CODE
LOWServer/src/cli/utils/config.py55def set_config(config: CLIConfig) -> None:CODE
LOWServer/src/cli/utils/__init__.py18__all__ = [CODE
LOWServer/src/services/api_key_service.py235__all__ = ["ApiKeyService", "ValidationResult"]CODE
LOWServer/src/services/tools/refresh_unity.py22logger = logging.getLogger(__name__)CODE
LOWServer/src/services/tools/run_tests.py22logger = logging.getLogger(__name__)CODE
LOWServer/src/services/tools/__init__.py17__all__ = [CODE
LOWServer/src/services/tools/batch_execute.py15logger = logging.getLogger(__name__)CODE
LOWServer/src/services/resources/__init__.py20__all__ = ['register_all_resources']CODE
LOWServer/src/services/state/external_changes_scanner.py51 def set_project_root(self, instance_id: str, project_root: str | None) -> None:CODE
LOWServer/src/services/registry/__init__.py18__all__ = [CODE
Cross-Language Confusion4 hits · 15 pts
SeverityFileLineSnippetContext
HIGHtools/local_harness.py1237 # status == "failed": data.result is null; surface error + capped failures.COMMENT
HIGHtools/generate_docs_reference.py27 cd Server && uv sync && cd .. && uv --project Server run python tools/generate_docs_reference.py --checkSTRING
HIGH…ver/tests/test_core_infrastructure_characterization.py17 cd Server && uv run pytest tests/test_core_infrastructure_characterization.py -vSTRING
HIGHServer/src/services/tools/script_apply_edits.py701 "replacement": "public bool HasTarget(){ return currentTarget!=null; }"STRING
Modern AI Meta-Vocabulary5 hits · 15 pts
SeverityFileLineSnippetContext
MEDIUMMCPForUnity/Editor/Tools/Prefabs/ManagePrefabs.cs597 /// This is ideal for automated/agentic workflows as it avoids UI, dirty flags, and dialogs.COMMENT
MEDIUMServer/src/transport/plugin_hub.py875 # NOTE: This wait can impact agentic workflows where domain reloads happenCOMMENT
MEDIUMServer/src/transport/legacy/unity_connection.py850 # NOTE: This wait can impact agentic workflows where domain reloads happenCOMMENT
MEDIUM…Tests/EditMode/Tools/MaterialMeshInstantiationTests.cs200 // Removed low-value property-presence tests; the instanceID tests are the authoritative guardrails.COMMENT
MEDIUM…s/Assets/Tests/EditMode/AssetGen/AssetGenPrefsTests.cs10 /// Phase 0 scaffold: non-secret AssetGen preferences round-trip through EditorPrefsCOMMENT
Example Usage Blocks4 hits · 6 pts
SeverityFileLineSnippetContext
LOWtools/pypi_publish.sh13# Usage:COMMENT
LOWtools/install-hooks.sh4# Usage:COMMENT
LOWtools/docker_publish.sh8 # Usage:COMMENT
LOWtools/check-unity-versions.sh4# Usage:COMMENT
Fake / Example Data2 hits · 2 pts
SeverityFileLineSnippetContext
LOWunity-mcp-skill/references/workflows.md1157 "component_type": "TMP_InputField", "property": "placeholder",CODE
LOW.claude/skills/unity-mcp-skill/references/workflows.md1157 "component_type": "TMP_InputField", "property": "placeholder",CODE
TODO Padding1 hit · 0 pts
SeverityFileLineSnippetContext
LOWServer/tests/test_cli.py1401 "contents": "// TODO: implement this\n// FIXME: bug here\nclass Test {}\n",CODE