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.
This report summarizes scanner evidence for CoplayDev/unity-mcp, a C# project with 14,835 GitHub stars. SynthScan examined 266,498 lines of code across 1218 source files, recording 2891 pattern matches distributed across 22 syntactic categories. The legacy adjusted pattern signal is 17.1 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 1799 finding(s).
Are imports declared and package/API names verified? 180 finding(s).
Are wrappers, guards, and repeated structures necessary? 2319 finding(s).
Which changes need focused human review? 2891 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 2891 distinct pattern matches across 22 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tools/local_harness.py | 101 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tools/local_harness.py | 103 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tools/local_harness.py | 742 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tools/local_harness.py | 745 | # =========================================================================== | COMMENT |
| MEDIUM | tools/local_harness.py | 76 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/local_harness.py | 80 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/local_harness.py | 166 | # =========================================================================== | COMMENT |
| MEDIUM | tools/local_harness.py | 168 | # =========================================================================== | COMMENT |
| MEDIUM | tools/local_harness.py | 221 | # =========================================================================== | COMMENT |
| MEDIUM | tools/local_harness.py | 223 | # =========================================================================== | COMMENT |
| MEDIUM | tools/local_harness.py | 423 | # =========================================================================== | COMMENT |
| MEDIUM | tools/local_harness.py | 425 | # =========================================================================== | COMMENT |
| MEDIUM | tools/local_harness.py | 485 | # =========================================================================== | COMMENT |
| MEDIUM | tools/local_harness.py | 487 | # =========================================================================== | COMMENT |
| MEDIUM | tools/local_harness.py | 539 | # =========================================================================== | COMMENT |
| MEDIUM | tools/local_harness.py | 541 | # =========================================================================== | COMMENT |
| MEDIUM | tools/local_harness.py | 594 | # =========================================================================== | COMMENT |
| MEDIUM | tools/local_harness.py | 596 | # =========================================================================== | COMMENT |
| MEDIUM | tools/local_harness.py | 664 | # =========================================================================== | COMMENT |
| MEDIUM | tools/local_harness.py | 666 | # =========================================================================== | COMMENT |
| MEDIUM | tools/local_harness.py | 976 | # =========================================================================== | COMMENT |
| MEDIUM | tools/local_harness.py | 978 | # =========================================================================== | COMMENT |
| MEDIUM | tools/generate_docs_reference.py | 69 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/generate_docs_reference.py | 71 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/generate_docs_reference.py | 106 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/generate_docs_reference.py | 108 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/generate_docs_reference.py | 225 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/generate_docs_reference.py | 227 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/generate_docs_reference.py | 437 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | tools/generate_docs_reference.py | 439 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | tools/generate_docs_reference.py | 549 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/generate_docs_reference.py | 551 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/sync_release_notes.py | 71 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/sync_release_notes.py | 73 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/sync_release_notes.py | 147 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/sync_release_notes.py | 149 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/sync_release_notes.py | 264 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/sync_release_notes.py | 266 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/tests/test_local_harness.py | 341 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tools/tests/test_local_harness.py | 343 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tools/tests/test_local_harness.py | 399 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tools/tests/test_local_harness.py | 401 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tools/tests/test_local_harness.py | 463 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tools/tests/test_local_harness.py | 465 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tools/tests/test_local_harness.py | 547 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tools/tests/test_local_harness.py | 549 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tools/tests/test_local_harness.py | 632 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tools/tests/test_local_harness.py | 634 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tools/tests/test_local_harness.py | 686 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tools/tests/test_local_harness.py | 688 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tools/tests/test_local_harness.py | 700 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tools/tests/test_local_harness.py | 704 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tools/tests/test_local_harness.py | 740 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tools/tests/test_local_harness.py | 744 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tools/tests/test_local_harness.py | 788 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tools/tests/test_local_harness.py | 792 | # =========================================================================== | COMMENT |
| MEDIUM | tools/tests/test_local_harness.py | 57 | # =========================================================================== | COMMENT |
| MEDIUM | tools/tests/test_local_harness.py | 59 | # =========================================================================== | COMMENT |
| MEDIUM | tools/tests/test_local_harness.py | 86 | # =========================================================================== | COMMENT |
| MEDIUM | tools/tests/test_local_harness.py | 88 | # =========================================================================== | COMMENT |
| 534 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mcp_source.py | 38 | def normalize_origin_to_https(url: str) -> str: | CODE |
| LOW | tools/local_harness.py | 269 | def read_secondary_install_path(platform: str | None = None, | CODE |
| LOW | tools/local_harness.py | 1053 | def preserve_editor_diagnostics(launcher, handle: Handle, reports_dir: Path, stage: str) -> None: | CODE |
| LOW | tools/local_harness.py | 1499 | def record_scene_setup_failure() -> None: | CODE |
| LOW | tools/stress_editor_state.py | 83 | def make_get_editor_state_frame() -> bytes: | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 99 | def test_unknown_platform_defaults_to_linux_layout(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 108 | def test_windows_hub_roots_use_program_files(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 115 | def test_windows_hub_roots_fallback_when_no_env(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 119 | def test_linux_hub_root_under_home(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 127 | def test_macos_resolves_hub_layout(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 345 | def test_project_version_takes_precedence(self, tmp_path): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 359 | def test_falls_back_to_default_version_when_no_project_file(self, tmp_path): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 368 | def test_returns_none_when_neither_source_present(self, tmp_path): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 374 | def test_project_version_tolerates_bom(self, tmp_path): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 383 | def test_malformed_default_version_json_returns_none(self, tmp_path): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 390 | def test_real_repo_versions_json_default(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 450 | def test_precedence_license_over_compile(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 456 | def test_compile_when_license_in_grace(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 551 | def test_merge_produces_wellformed_testsuites(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 600 | def test_merge_empty_suite_list_is_wellformed(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 609 | def test_merge_skips_none_suites(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 615 | def test_failure_message_attribute_is_capped(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 623 | def test_time_attributes_are_formatted(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 665 | def test_editor_arg_is_repeatable(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 675 | def test_numeric_args_are_typed(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 690 | def test_normalizes_and_dedupes(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 696 | def test_empty_string_is_empty_list(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 706 | def test_console_entries_bare_list_under_data(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 712 | def test_console_entries_paging_items_under_data(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 716 | def test_console_entries_result_wrapped(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 720 | def test_compile_probe_detects_cs_error(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 728 | def test_compile_probe_clean_project(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 733 | def test_compile_probe_inconclusive_does_not_block(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 746 | def test_retries_on_tests_running_then_succeeds(self, monkeypatch): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 774 | def test_hard_start_failure_returns_immediately(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 780 | def test_success_returns_job_id(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 794 | def test_poll_tolerates_timeout_then_returns_terminal(self, monkeypatch): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 957 | def test_no_passing_test_cannot_report_success(self, rows, passed, skipped): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 964 | def test_unrecognized_or_inconclusive_leaf_is_not_counted_as_a_pass(self, state): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 970 | def test_row_buckets_must_match_summary(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 976 | def test_initialization_failure_without_results_retains_progress_errors(self): | CODE |
| LOW⚡ | tools/tests/test_local_harness.py | 983 | def test_poll_requests_complete_terminal_details(self): | CODE |
| LOW | tools/tests/test_local_harness.py | 144 | def test_windows_resolves_hub_layout(self): | CODE |
| LOW | tools/tests/test_local_harness.py | 161 | def test_linux_resolves_hub_layout(self): | CODE |
| LOW | tools/tests/test_local_harness.py | 177 | def test_explicit_editor_takes_precedence(self): | CODE |
| LOW | tools/tests/test_local_harness.py | 195 | def test_unity_editor_env_override(self): | CODE |
| LOW | tools/tests/test_local_harness.py | 210 | def test_not_found_raises_with_searched_paths(self): | CODE |
| LOW | tools/tests/test_local_harness.py | 229 | def test_nearest_patch_fallback_same_major_minor(self): | CODE |
| LOW | tools/tests/test_local_harness.py | 259 | def test_nearest_patch_never_crosses_major_minor(self): | CODE |
| LOW | tools/tests/test_local_harness.py | 283 | def test_default_platform_darwin(self, monkeypatch): | CODE |
| LOW | tools/tests/test_local_harness.py | 299 | def test_default_platform_linux(self, monkeypatch): | CODE |
| LOW | tools/tests/test_local_harness.py | 319 | def test_secondary_root_used_for_candidate(self): | CODE |
| LOW | tools/tests/test_local_harness.py | 423 | def test_license_suppressed_during_grace(self): | CODE |
| LOW | tools/tests/test_local_harness.py | 439 | def test_clean_ready_log_is_ok(self): | CODE |
| LOW | tools/tests/test_local_harness.py | 500 | def test_playmode_nonblocking_fail_does_not_raise_code(self): | CODE |
| LOW | tools/tests/test_local_harness.py | 511 | def test_playmode_nonblocking_fail_alone_is_zero(self): | CODE |
| LOW | tools/tests/test_local_harness.py | 650 | def test_legs_and_project_override(self): | CODE |
| LOW | tools/tests/test_local_harness.py | 761 | def test_exhausts_after_persistent_tests_running(self, monkeypatch): | CODE |
| LOW | tools/tests/test_local_harness.py | 809 | def test_poll_wedges_after_deadline_without_crashing(self, monkeypatch): | CODE |
| LOW | tools/tests/test_local_harness.py | 818 | def test_start_tolerates_transport_exception_then_succeeds(self, monkeypatch): | CODE |
| 1325 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/local_harness.py | 1173 | except Exception: | CODE |
| HIGH | tools/local_harness.py | 865 | except OSError: | CODE |
| HIGH | tools/local_harness.py | 1532 | except (ValueError, OSError): | CODE |
| HIGH | tools/local_harness.py | 1512 | except Exception: | CODE |
| HIGH | tools/local_harness.py | 1522 | except OSError: | CODE |
| HIGH | tools/local_harness.py | 863 | except OSError: | CODE |
| HIGH | tools/local_harness.py | 1519 | except OSError: | CODE |
| HIGH | tools/ci_unity_license.py | 33 | except ValueError: | CODE |
| HIGH | tools/stress_mcp.py | 349 | except KeyboardInterrupt: | CODE |
| HIGH | tools/stress_mcp.py | 48 | except Exception: | CODE |
| HIGH | tools/stress_mcp.py | 308 | except Exception: | CODE |
| HIGH | tools/stress_mcp.py | 134 | except Exception: | CODE |
| HIGH | tools/stress_mcp.py | 291 | except Exception: | CODE |
| HIGH | tools/stress_mcp.py | 227 | except Exception: | CODE |
| HIGH | tools/stress_mcp.py | 302 | except Exception: | CODE |
| HIGH | tools/sync_release_notes.py | 119 | except ImportError: | CODE |
| HIGH | tools/stress_editor_state.py | 185 | except KeyboardInterrupt: | CODE |
| HIGH | tools/stress_editor_state.py | 47 | except Exception: | CODE |
| HIGH | tools/stress_editor_state.py | 151 | except Exception: | CODE |
| HIGH | tools/stress_editor_state.py | 138 | except Exception: | CODE |
| HIGH | Server/tests/integration/test_connection_deadline.py | 70 | except OSError: | CODE |
| HIGH | Server/tests/integration/test_connection_deadline.py | 41 | except OSError: | CODE |
| HIGH | Server/tests/integration/test_connection_deadline.py | 75 | except OSError: | CODE |
| HIGH | Server/tests/integration/test_transport_framing.py | 150 | except (ConnectionResetError, ConnectionAbortedError): | CODE |
| HIGH | Server/tests/integration/test_transport_framing.py | 66 | except Exception: | CODE |
| HIGH | Server/tests/integration/test_transport_framing.py | 61 | except Exception: | CODE |
| HIGH | Server/tests/integration/test_transport_framing.py | 187 | except Exception: | CODE |
| HIGH | Server/src/main.py | 61 | except Exception: | CODE |
| HIGH | Server/src/main.py | 135 | except Exception: | CODE |
| HIGH | Server/src/main.py | 125 | except Exception: | CODE |
| HIGH | Server/src/main.py | 75 | except PermissionError: | CODE |
| HIGH | Server/src/transport/plugin_hub.py | 324 | except Exception: | CODE |
| HIGH | Server/src/transport/plugin_hub.py | 745 | except Exception: | CODE |
| HIGH | Server/src/transport/legacy/port_discovery.py | 268 | except Exception: | CODE |
| HIGH | Server/src/transport/legacy/unity_connection.py | 150 | except BlockingIOError: | CODE |
| HIGH | Server/src/transport/legacy/unity_connection.py | 657 | except ValueError: | CODE |
| HIGH | Server/src/transport/legacy/unity_connection.py | 156 | except Exception: | CODE |
| HIGH | Server/src/transport/legacy/unity_connection.py | 117 | except Exception: | CODE |
| HIGH | Server/src/transport/legacy/unity_connection.py | 487 | except Exception: | CODE |
| HIGH | Server/src/core/config.py | 24 | except (TypeError, ValueError): | CODE |
| HIGH | Server/src/core/telemetry.py | 164 | except Exception: | CODE |
| HIGH | Server/src/core/telemetry.py | 180 | except Exception: | CODE |
| HIGH | Server/src/cli/commands/code.py | 220 | except (ValueError, TypeError): | CODE |
| HIGH | Server/src/cli/commands/editor.py | 527 | except UnityConnectionError: | CODE |
| HIGH | Server/src/services/tools/refresh_unity.py | 263 | except Exception: | CODE |
| HIGH | Server/src/services/tools/refresh_unity.py | 57 | except Exception: | CODE |
| HIGH | Server/src/services/tools/__init__.py | 283 | except Exception: # pragma: no cover - defensive | CODE |
| HIGH | Server/src/services/tools/read_console.py | 152 | except Exception: | CODE |
| HIGH | Server/src/services/tools/script_apply_edits.py | 963 | except Exception: | CODE |
| HIGH | Server/src/services/tools/utils.py | 397 | except (ValueError, TypeError): | CODE |
| HIGH | Server/src/services/tools/manage_script.py | 297 | except Exception: | CODE |
| HIGH | Server/src/services/tools/manage_script.py | 269 | except Exception: | CODE |
| HIGH | Server/src/services/tools/manage_script.py | 377 | except Exception: | CODE |
| HIGH | Server/src/services/tools/manage_script.py | 211 | except Exception: | CODE |
| HIGH | Server/src/services/tools/manage_script.py | 167 | except Exception: | CODE |
| HIGH | Server/src/services/tools/manage_script.py | 233 | except Exception: | CODE |
| HIGH | Server/src/services/tools/manage_script.py | 372 | except Exception: | CODE |
| HIGH | Server/src/services/tools/manage_script.py | 177 | except Exception: | CODE |
| HIGH | Server/src/services/tools/manage_script.py | 242 | except Exception: | CODE |
| HIGH | Server/src/services/tools/unity_docs.py | 562 | except ImportError: | CODE |
| 6 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mcp_source.py | 57 | except Exception: | CODE |
| LOW⚡ | mcp_source.py | 132 | except Exception as e: | CODE |
| MEDIUM⚡ | mcp_source.py | 133 | print(f"Error: {e}", file=sys.stderr) | CODE |
| LOW⚡ | mcp_source.py | 140 | except Exception as e: | CODE |
| MEDIUM⚡ | mcp_source.py | 141 | print(f"Error: {e}", file=sys.stderr) | CODE |
| LOW | unity-mcp-skill/references/workflows.md | 2069 | except Exception as e: | CODE |
| LOW | tools/generate_mcpb.py | 141 | except Exception as e: | CODE |
| MEDIUM | tools/generate_mcpb.py | 142 | print(f"Error: {e}", file=sys.stderr) | CODE |
| LOW | tools/local_harness.py | 1110 | except Exception: | CODE |
| LOW | tools/local_harness.py | 1173 | except Exception: | CODE |
| LOW | tools/local_harness.py | 1191 | except Exception: | CODE |
| LOW | tools/local_harness.py | 1227 | except Exception: | CODE |
| LOW | tools/local_harness.py | 1350 | except Exception: | CODE |
| LOW | tools/local_harness.py | 1512 | except Exception: | CODE |
| LOW | tools/generate_docs_reference.py | 205 | except Exception: | CODE |
| LOW | tools/generate_docs_reference.py | 462 | except Exception: | CODE |
| LOW⚡ | tools/stress_mcp.py | 291 | except Exception: | CODE |
| LOW⚡ | tools/stress_mcp.py | 294 | except Exception: | CODE |
| LOW⚡ | tools/stress_mcp.py | 302 | except Exception: | CODE |
| LOW⚡ | tools/stress_mcp.py | 308 | except Exception: | CODE |
| LOW | tools/stress_mcp.py | 48 | except Exception: | CODE |
| LOW | tools/stress_mcp.py | 124 | except Exception: | CODE |
| LOW | tools/stress_mcp.py | 134 | except Exception: | CODE |
| LOW | tools/stress_mcp.py | 149 | except Exception: | CODE |
| LOW | tools/stress_mcp.py | 182 | except Exception: | CODE |
| LOW | tools/stress_mcp.py | 219 | except Exception: | CODE |
| LOW | tools/stress_mcp.py | 227 | except Exception: | CODE |
| LOW | tools/stress_editor_state.py | 47 | except Exception: | CODE |
| LOW | tools/stress_editor_state.py | 124 | except Exception: | CODE |
| LOW | tools/stress_editor_state.py | 138 | except Exception: | CODE |
| LOW | tools/stress_editor_state.py | 151 | except Exception: | CODE |
| LOW | tools/update_versions.py | 333 | except Exception as e: | CODE |
| MEDIUM | tools/update_versions.py | 334 | print(f"Error: {e}", file=sys.stderr) | CODE |
| LOW | MCPForUnity/Editor/Tools/Blender/BlenderBridgeTool.cs | 360 | except Exception: | CODE |
| LOW | .claude/skills/unity-mcp-skill/references/workflows.md | 2069 | except Exception as e: | CODE |
| LOW | Server/tests/conftest.py | 25 | except Exception as exc: | CODE |
| LOW⚡ | Server/tests/integration/test_transport_framing.py | 61 | except Exception: | CODE |
| LOW⚡ | Server/tests/integration/test_transport_framing.py | 66 | except Exception: | CODE |
| LOW | Server/tests/integration/test_transport_framing.py | 98 | except Exception: | CODE |
| LOW | Server/tests/integration/test_transport_framing.py | 187 | except Exception: | CODE |
| LOW | Server/tests/e2e/bridge_smoke.py | 184 | except Exception as exc: # connection refused, timeout, etc. | CODE |
| MEDIUM | Server/src/main.py | 180 | def _emit_startup(): | CODE |
| LOW⚡ | Server/src/main.py | 113 | except Exception as exc: | CODE |
| LOW⚡ | Server/src/main.py | 116 | except Exception as exc: | CODE |
| LOW⚡ | Server/src/main.py | 125 | except Exception: | CODE |
| LOW⚡ | Server/src/main.py | 135 | except Exception: | CODE |
| LOW | Server/src/main.py | 61 | except Exception: | CODE |
| LOW | Server/src/main.py | 187 | except Exception: | CODE |
| LOW | Server/src/main.py | 233 | except Exception as sync_exc: | CODE |
| LOW | Server/src/main.py | 246 | except Exception as e: | CODE |
| LOW | Server/src/main.py | 265 | except Exception as e: | CODE |
| LOW | Server/src/main.py | 530 | except Exception as e: | CODE |
| LOW | Server/src/main.py | 549 | except Exception as e: | CODE |
| LOW | Server/src/main.py | 611 | except Exception as e: | CODE |
| LOW | Server/src/main.py | 882 | except Exception as exc: | STRING |
| LOW | Server/src/main.py | 916 | except Exception: | STRING |
| LOW | Server/src/transport/unity_transport.py | 37 | except Exception as e: | CODE |
| LOW | Server/src/transport/unity_transport.py | 101 | except Exception as exc: | CODE |
| LOW⚡ | Server/src/transport/plugin_hub.py | 728 | except Exception as close_ex: | CODE |
| LOW⚡ | Server/src/transport/plugin_hub.py | 737 | except Exception as send_ex: | CODE |
| 165 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mcp_source.py | 16 | CODE | |
| LOW | tools/generate_mcpb.py | 15 | CODE | |
| LOW | tools/local_harness.py | 55 | CODE | |
| LOW | tools/ci_unity_license.py | 8 | CODE | |
| LOW | tools/generate_docs_reference.py | 30 | CODE | |
| LOW | tools/check_unity_test_results.py | 2 | CODE | |
| LOW | tools/prepare_unity_asset_store_release.py | 10 | CODE | |
| LOW | tools/sync_release_notes.py | 20 | CODE | |
| LOW | tools/stress_editor_state.py | 24 | CODE | |
| LOW | tools/tests/test_local_harness.py | 27 | CODE | |
| LOW | tools/tests/test_build_release_characterization.py | 57 | CODE | |
| LOW | tools/tests/test_build_release_characterization.py | 61 | CODE | |
| LOW | tools/tests/test_build_release_characterization.py | 65 | CODE | |
| LOW | tools/tests/test_build_release_characterization.py | 65 | CODE | |
| LOW | tools/tests/test_build_release_characterization.py | 65 | CODE | |
| LOW | tools/tests/test_build_release_characterization.py | 66 | CODE | |
| LOW | tools/tests/test_build_release_characterization.py | 66 | CODE | |
| LOW | Server/tests/test_manage_profiler.py | 1 | CODE | |
| LOW | Server/tests/test_manage_vfx_actions.py | 1 | CODE | |
| LOW | Server/tests/test_unity_reflect.py | 1 | CODE | |
| LOW | Server/tests/test_unity_reflect.py | 10 | CODE | |
| LOW | Server/tests/test_manage_animation.py | 4 | CODE | |
| LOW | Server/tests/test_manage_probuilder.py | 1 | CODE | |
| LOW | Server/tests/test_param_normalizer.py | 6 | CODE | |
| LOW | Server/tests/test_log_paths.py | 3 | CODE | |
| LOW | Server/tests/test_unity_docs.py | 1 | CODE | |
| LOW | Server/tests/test_cli_commands_characterization.py | 26 | CODE | |
| LOW | Server/tests/test_cli_commands_characterization.py | 28 | CODE | |
| LOW | Server/tests/test_cli_commands_characterization.py | 28 | CODE | |
| LOW | Server/tests/test_manage_editor.py | 3 | CODE | |
| LOW | Server/tests/test_manage_editor.py | 10 | CODE | |
| LOW | Server/tests/test_manage_editor.py | 11 | CODE | |
| LOW | Server/tests/test_transport_characterization.py | 18 | CODE | |
| LOW | Server/tests/test_transport_characterization.py | 18 | CODE | |
| LOW | Server/tests/test_transport_characterization.py | 19 | CODE | |
| LOW | Server/tests/test_transport_characterization.py | 19 | CODE | |
| LOW | Server/tests/test_transport_characterization.py | 20 | CODE | |
| LOW | Server/tests/test_transport_characterization.py | 24 | CODE | |
| LOW | Server/tests/test_models_characterization.py | 30 | CODE | |
| LOW | Server/tests/test_models_characterization.py | 30 | CODE | |
| LOW | Server/tests/test_manage_camera.py | 1 | CODE | |
| LOW | Server/tests/test_manage_graphics.py | 1 | CODE | |
| LOW | Server/tests/test_cli.py | 11 | CODE | |
| LOW | Server/tests/test_focus_nudge.py | 13 | CODE | |
| LOW | …ver/tests/test_core_infrastructure_characterization.py | 21 | CODE | |
| LOW | …ver/tests/test_core_infrastructure_characterization.py | 28 | CODE | |
| LOW | …ver/tests/test_core_infrastructure_characterization.py | 28 | CODE | |
| LOW | …ver/tests/test_core_infrastructure_characterization.py | 48 | CODE | |
| LOW | …tests/integration/test_multi_user_session_isolation.py | 8 | CODE | |
| LOW | Server/tests/integration/test_manage_ui.py | 6 | CODE | |
| LOW | Server/tests/integration/test_api_key_service.py | 10 | CODE | |
| LOW | Server/tests/integration/test_connection_deadline.py | 2 | CODE | |
| LOW | …er/tests/integration/test_plugin_hub_websocket_auth.py | 5 | CODE | |
| LOW | …er/tests/integration/test_plugin_hub_websocket_auth.py | 5 | CODE | |
| LOW | Server/tests/integration/test_telemetry_subaction.py | 7 | CODE | |
| LOW | …/tests/integration/test_middleware_auth_integration.py | 5 | CODE | |
| LOW | Server/tests/integration/test_transport_framing.py | 2 | CODE | |
| LOW | Server/tests/integration/test_manage_texture.py | 3 | CODE | |
| LOW | …r/tests/integration/test_refresh_unity_registration.py | 9 | CODE | |
| LOW | …ver/tests/integration/test_external_changes_scanner.py | 3 | CODE | |
| 109 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | unity-mcp-skill/references/resources-reference.md | 641 | # Then read specific components as needed | COMMENT |
| LOW | unity-mcp-skill/references/tools-reference.md | 321 | component_type="GameManagerScript", | COMMENT |
| LOW | tools/pypi_publish.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/docker_publish.sh | 1 | # Publish a Docker image (manual). | COMMENT |
| LOW | tools/check-unity-versions.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/compile-check.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/compile-check.sh | 21 | # .../com.unity.ext.nunit@*/net35/unity-custom/. Takes ~1 min per Unity version. | COMMENT |
| LOW | MCPForUnity/Runtime/Helpers/UnityPhysicsCompat.cs | 1 | using System; | COMMENT |
| LOW | MCPForUnity/Runtime/Helpers/UnityObjectIdCompat.cs | 1 | using UnityEngine; | COMMENT |
| LOW | MCPForUnity/Runtime/Helpers/UnityObjectIdCompat.cs | 21 | #if UNITY_6000_6_OR_NEWER | COMMENT |
| LOW | MCPForUnity/Runtime/Helpers/UnityObjectIdCompat.cs | 61 | /// Pre-6.0 : EditorUtility.InstanceIDToObject(int) | COMMENT |
| LOW | MCPForUnity/Runtime/Helpers/UnityFindObjectsCompat.cs | 1 | using System; | COMMENT |
| LOW | MCPForUnity/Runtime/Helpers/UnityCompatShims.cs | 1 | namespace MCPForUnity.Runtime.Helpers | COMMENT |
| LOW | MCPForUnity/Runtime/Helpers/UnityCompatShims.cs | 21 | /// 3. A future Unity version has announced rename or removal. | COMMENT |
| LOW | MCPForUnity/Runtime/Helpers/UnityAssembliesCompat.cs | 1 | using System; | COMMENT |
| LOW | MCPForUnity/Editor/Clients/IMcpClientConfigurator.cs | 21 | /// The transport type the client is currently configured for. | COMMENT |
| LOW | MCPForUnity/Editor/Clients/IMcpClientConfigurator.cs | 41 | COMMENT | |
| LOW | …orUnity/Editor/Clients/Configurators/PiConfigurator.cs | 1 | using System; | COMMENT |
| LOW | …orUnity/Editor/Clients/Configurators/PiConfigurator.cs | 41 | /// <c>ParentDirectoryExists(GetConfigPath())</c>. | COMMENT |
| LOW | MCPForUnity/Editor/Tools/CommandRegistry.cs | 61 | { | COMMENT |
| LOW | MCPForUnity/Editor/Tools/ManageScriptableObject.cs | 1081 | /// | COMMENT |
| LOW | MCPForUnity/Editor/Tools/ManageScriptableObject.cs | 1181 | COMMENT | |
| LOW | MCPForUnity/Editor/Tools/RefreshUnity.cs | 81 | // If the caller asked for "all" and we skipped refresh above (e.g., scripts-only path), | COMMENT |
| LOW | MCPForUnity/Editor/Tools/RefreshUnity.cs | 101 | // Unlike WaitForUnityReadyAsync this cannot span a domain reload: it | COMMENT |
| LOW | MCPForUnity/Editor/Tools/RefreshUnity.cs | 161 | compile_requested = compileRequested, | COMMENT |
| LOW | MCPForUnity/Editor/Tools/RefreshUnity.cs | 181 | /// </list> | COMMENT |
| LOW | MCPForUnity/Editor/Tools/RefreshUnity.cs | 201 | { | COMMENT |
| LOW | MCPForUnity/Editor/Tools/McpForUnityToolAttribute.cs | 21 | /// <summary> | COMMENT |
| LOW | MCPForUnity/Editor/Tools/McpForUnityToolAttribute.cs | 41 | COMMENT | |
| LOW | MCPForUnity/Editor/Tools/ManageUI.cs | 1821 | } | COMMENT |
| LOW | MCPForUnity/Editor/Tools/ManageScript.cs | 21 | #endif | COMMENT |
| LOW | MCPForUnity/Editor/Tools/ManageScript.cs | 41 | /// - Place in Assets/Plugins/ folder | COMMENT |
| LOW | MCPForUnity/Editor/Tools/ManageScript.cs | 2861 | //TODO: A easier way for users to update incorrect scripts (now duplicated with the updateScript method and need | COMMENT |
| LOW | MCPForUnity/Editor/Tools/ManageScript.cs | 2881 | // case "standard": level = ValidationLevel.Standard; break; | COMMENT |
| LOW | MCPForUnity/Editor/Tools/ManageScript.cs | 2901 | // warnings = warnings, | COMMENT |
| LOW | MCPForUnity/Editor/Tools/ManageScene.cs | 1641 | /// understand, so it must not be re-rooted under Assets/. | COMMENT |
| LOW | MCPForUnity/Editor/Tools/ProBuilder/ManageProBuilder.cs | 21 | /// - create_poly_shape: Create from 2D polygon footprint (points, extrudeHeight, flipNormals) | COMMENT |
| LOW | MCPForUnity/Editor/Tools/ProBuilder/ManageProBuilder.cs | 41 | /// - weld_vertices: Weld vertices within proximity radius (vertexIndices, radius) | COMMENT |
| LOW | MCPForUnity/Editor/Tools/ProBuilder/ManageProBuilder.cs | 141 | /// bypassing the shader's own Emission block (which is correctly wired to black). | COMMENT |
| LOW | MCPForUnity/Editor/Tools/Animation/AnimatorResolver.cs | 1 | using System.Linq; | COMMENT |
| LOW | MCPForUnity/Editor/Tools/Vfx/ManageVFX.cs | 21 | /// | COMMENT |
| LOW | MCPForUnity/Editor/Tools/Vfx/ManageVFX.cs | 41 | /// - Materials are cached to avoid recreation | COMMENT |
| LOW | MCPForUnity/Editor/Tools/Vfx/ManageVFX.cs | 61 | /// - particle_clear_bursts: Clear all bursts | COMMENT |
| LOW | MCPForUnity/Editor/Tools/Vfx/ManageVFX.cs | 81 | /// - vfx_set_seed: Set random seed (seed, resetSeedOnPlay) | COMMENT |
| LOW | MCPForUnity/Editor/Tools/Vfx/ManageVFX.cs | 101 | /// - trail_set_time: Set trail duration (time) | COMMENT |
| LOW | …nity/Editor/Security/SecureKeyStore/ISecureKeyStore.cs | 1 | namespace MCPForUnity.Editor.Security | COMMENT |
| LOW | …Unity/Editor/Resources/McpForUnityResourceAttribute.cs | 1 | using System; | COMMENT |
| LOW | …ty/Editor/Dependencies/Models/DependencyCheckResult.cs | 21 | public bool IsSystemReady { get; set; } | COMMENT |
| LOW | …orUnity/Editor/Dependencies/Models/DependencyStatus.cs | 21 | /// <summary> | COMMENT |
| LOW | …or/Dependencies/PlatformDetectors/IPlatformDetector.cs | 21 | /// Detect Python installation on this platform | COMMENT |
| LOW | …rUnity/Editor/Windows/Components/Branding/OceanMark.cs | 1 | using UnityEngine; | COMMENT |
| LOW | …rUnity/Editor/Helpers/EditorWindowScreenshotUtility.cs | 21 | private const int RepaintSettlingDelayMs = 75; | COMMENT |
| LOW | MCPForUnity/Editor/Helpers/GameObjectLookup.cs | 81 | return ResolveInstanceID(instanceId) as GameObject; | COMMENT |
| LOW | MCPForUnity/Editor/Helpers/ScreenshotPreferences.cs | 1 | using MCPForUnity.Runtime.Helpers; | COMMENT |
| LOW | MCPForUnity/Editor/Helpers/AssetPathUtility.cs | 321 | /// Builds the uvx package source arguments for the MCP server. | COMMENT |
| LOW | MCPForUnity/Editor/Helpers/Pagination.cs | 81 | /// <summary> | COMMENT |
| LOW | MCPForUnity/Editor/Helpers/VectorParsing.cs | 281 | /// <summary> | COMMENT |
| LOW | MCPForUnity/Editor/Helpers/VectorParsing.cs | 401 | /// | COMMENT |
| LOW | MCPForUnity/Editor/Helpers/VectorParsing.cs | 461 | COMMENT | |
| LOW | MCPForUnity/Editor/Helpers/UnityTypeResolver.cs | 181 | var candidates = fromPlayer.ToList(); | COMMENT |
| 67 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | unity-mcp-skill/references/workflows.md | 67 | # Step 0: Create fresh empty scene (replaces current scene entirely) | COMMENT |
| LOW | unity-mcp-skill/references/workflows.md | 609 | ### Step 0: Detect Project UI Capabilities | COMMENT |
| LOW | unity-mcp-skill/references/workflows.md | 982 | # Step 1: Create hierarchy | COMMENT |
| LOW | unity-mcp-skill/references/workflows.md | 1063 | # Step 2: Wire Slider references (CRITICAL — slider won't work without this) | COMMENT |
| LOW | unity-mcp-skill/references/workflows.md | 1081 | # Step 1: Create hierarchy | COMMENT |
| LOW | unity-mcp-skill/references/workflows.md | 1144 | # Step 2: Wire TMP_InputField references (CRITICAL) | COMMENT |
| LOW⚡ | unity-mcp-skill/references/workflows.md | 1918 | # Step 1: Search for the type you need | COMMENT |
| LOW⚡ | unity-mcp-skill/references/workflows.md | 1922 | # Step 2: Get member summary for the type | COMMENT |
| LOW⚡ | unity-mcp-skill/references/workflows.md | 1926 | # Step 3: Get full signature for specific members you plan to use | COMMENT |
| LOW⚡ | unity-mcp-skill/references/workflows.md | 1930 | # Step 4: Get official docs for usage patterns and examples | COMMENT |
| LOW | unity-mcp-skill/references/probuilder-guide.md | 14 | # Step 1: Get face info with directions | COMMENT |
| LOW | unity-mcp-skill/references/probuilder-guide.md | 24 | # Step 2: Use the direction labels to pick faces | COMMENT |
| LOW⚡ | tools/tests/test_build_release_characterization.py | 1611 | # Step 1: Dry-run | STRING |
| LOW⚡ | tools/tests/test_build_release_characterization.py | 1614 | # Step 2: Real update | STRING |
| LOW⚡ | tools/tests/test_build_release_characterization.py | 1625 | # Step 3: Validate | STRING |
| LOW⚡ | tools/tests/test_build_release_characterization.py | 1629 | # Step 4: Would create git commit with message: | STRING |
| LOW⚡ | tools/tests/test_build_release_characterization.py | 1632 | # Step 5: Would create git tag: | STRING |
| LOW⚡ | MCPForUnity/Editor/Tools/ManageEditor.cs | 29 | // Step 1: Null parameter guard (consistent across all tools) | COMMENT |
| LOW⚡ | MCPForUnity/Editor/Tools/ManageEditor.cs | 35 | // Step 2: Wrap parameters | COMMENT |
| LOW⚡ | MCPForUnity/Editor/Tools/ManageEditor.cs | 38 | // Step 3: Extract and validate required parameters | COMMENT |
| LOW | MCPForUnity/Editor/Tools/ManageScript.cs | 2647 | // Step 1: Build a code-only view (comments/strings replaced with spaces) | COMMENT |
| LOW | MCPForUnity/Editor/Tools/ManageScript.cs | 2664 | // Step 2: Build containing type name at each position via single pass | COMMENT |
| LOW | MCPForUnity/Editor/Tools/ManageScript.cs | 2739 | // Step 3: Match method signatures on code-only text (includes => for expression-bodied) | COMMENT |
| LOW | MCPForUnity/Editor/Services/Server/ProcessDetector.cs | 181 | // Step 1: Check if process name matches known server executables | COMMENT |
| LOW | MCPForUnity/Editor/Services/Server/ProcessDetector.cs | 192 | // Step 2: Try to get command line with wmic for better validation | COMMENT |
| LOW | website/docs/guides/custom-tools.md | 13 | ## Step 1: Create Your Tool Handler | COMMENT |
| LOW | website/docs/guides/custom-tools.md | 68 | ## Step 2: Refresh Your MCP Client | COMMENT |
| LOW | website/docs/guides/custom-tools.md | 76 | ## Step 3: List and Call Your Tool from the CLI | COMMENT |
| LOW | .claude/skills/unity-mcp-skill/references/workflows.md | 67 | # Step 0: Create fresh empty scene (replaces current scene entirely) | COMMENT |
| LOW | .claude/skills/unity-mcp-skill/references/workflows.md | 609 | ### Step 0: Detect Project UI Capabilities | COMMENT |
| LOW | .claude/skills/unity-mcp-skill/references/workflows.md | 982 | # Step 1: Create hierarchy | COMMENT |
| LOW | .claude/skills/unity-mcp-skill/references/workflows.md | 1063 | # Step 2: Wire Slider references (CRITICAL — slider won't work without this) | COMMENT |
| LOW | .claude/skills/unity-mcp-skill/references/workflows.md | 1081 | # Step 1: Create hierarchy | COMMENT |
| LOW | .claude/skills/unity-mcp-skill/references/workflows.md | 1144 | # Step 2: Wire TMP_InputField references (CRITICAL) | COMMENT |
| LOW⚡ | .claude/skills/unity-mcp-skill/references/workflows.md | 1918 | # Step 1: Search for the type you need | COMMENT |
| LOW⚡ | .claude/skills/unity-mcp-skill/references/workflows.md | 1922 | # Step 2: Get member summary for the type | COMMENT |
| LOW⚡ | .claude/skills/unity-mcp-skill/references/workflows.md | 1926 | # Step 3: Get full signature for specific members you plan to use | COMMENT |
| LOW⚡ | .claude/skills/unity-mcp-skill/references/workflows.md | 1930 | # Step 4: Get official docs for usage patterns and examples | COMMENT |
| LOW | …/skills/unity-mcp-skill/references/probuilder-guide.md | 14 | # Step 1: Get face info with directions | COMMENT |
| LOW | …/skills/unity-mcp-skill/references/probuilder-guide.md | 24 | # Step 2: Use the direction labels to pick faces | COMMENT |
| LOW⚡ | Server/src/cli/commands/ui.py | 38 | # Step 1: Create empty GameObject | COMMENT |
| LOW⚡ | Server/src/cli/commands/ui.py | 48 | # Step 2: Add Canvas components | COMMENT |
| LOW⚡ | Server/src/cli/commands/ui.py | 119 | # Step 2: Add RectTransform and TextMeshProUGUI | COMMENT |
| LOW⚡ | Server/src/cli/commands/ui.py | 126 | # Step 3: Set text content | COMMENT |
| LOW⚡ | Server/src/cli/commands/ui.py | 172 | # Step 2: Add Button and Image components | COMMENT |
| LOW⚡ | Server/src/cli/commands/ui.py | 180 | # Step 3: Create child label GameObject | COMMENT |
| LOW⚡ | Server/src/cli/commands/ui.py | 188 | # Step 4: Add TextMeshProUGUI to label and set text | COMMENT |
| LOW⚡ | Server/src/cli/commands/ui.py | 240 | # Step 2: Add Image component | COMMENT |
| LOW⚡ | Server/src/cli/commands/ui.py | 247 | # Step 3: Set sprite if provided | COMMENT |
| LOW | Server/src/cli/commands/ui.py | 63 | # Step 3: Set render mode | COMMENT |
| LOW | Server/src/cli/commands/ui.py | 107 | # Step 1: Create empty GameObject with parent | COMMENT |
| LOW | Server/src/cli/commands/ui.py | 161 | # Step 1: Create empty GameObject with parent | COMMENT |
| LOW | Server/src/cli/commands/ui.py | 229 | # Step 1: Create empty GameObject with parent | COMMENT |
| LOW | Server/src/cli/commands/code.py | 195 | # Step 1: Read the file via Unity's manage_script | COMMENT |
| LOW | Server/src/cli/commands/code.py | 227 | # Step 2: Perform regex search locally | COMMENT |
| LOW | Server/src/cli/commands/lighting.py | 58 | # Step 1: Create empty GameObject with position | COMMENT |
| LOW | Server/src/cli/commands/lighting.py | 69 | # Step 2: Add Light component using manage_components | COMMENT |
| LOW | Server/src/cli/commands/lighting.py | 80 | # Step 3: Set light type using manage_components set_property | COMMENT |
| LOW | Server/src/cli/commands/lighting.py | 93 | # Step 4: Set color if provided | COMMENT |
| LOW | Server/src/cli/commands/lighting.py | 107 | # Step 5: Set intensity if provided | COMMENT |
| 6 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/local_harness.py | 1248 | CODE | |
| LOW | tools/local_harness.py | 1436 | CODE | |
| LOW | tools/local_harness.py | 839 | CODE | |
| LOW | tools/local_harness.py | 1507 | CODE | |
| LOW | tools/generate_docs_reference.py | 580 | CODE | |
| LOW | tools/stress_mcp.py | 31 | CODE | |
| LOW | tools/stress_mcp.py | 96 | CODE | |
| LOW | tools/stress_mcp.py | 138 | CODE | |
| LOW | tools/stress_editor_state.py | 88 | CODE | |
| LOW | Server/tests/test_resource_uri_references.py | 88 | CODE | |
| LOW | Server/tests/test_resource_uri_references.py | 117 | CODE | |
| LOW | Server/tests/test_transport_characterization.py | 270 | CODE | |
| LOW | Server/tests/test_transport_characterization.py | 323 | CODE | |
| LOW | Server/tests/test_transport_characterization.py | 377 | CODE | |
| LOW | Server/tests/test_transport_characterization.py | 433 | CODE | |
| LOW | Server/tests/test_transport_characterization.py | 477 | CODE | |
| LOW | Server/tests/test_transport_characterization.py | 517 | CODE | |
| LOW | Server/tests/test_transport_characterization.py | 556 | CODE | |
| LOW | Server/tests/test_transport_characterization.py | 601 | CODE | |
| LOW | Server/tests/test_transport_characterization.py | 640 | CODE | |
| LOW | Server/tests/integration/test_transport_framing.py | 28 | CODE | |
| LOW | Server/tests/integration/test_transport_framing.py | 76 | CODE | |
| LOW | Server/tests/integration/test_transport_framing.py | 36 | CODE | |
| LOW | Server/tests/integration/test_transport_framing.py | 84 | CODE | |
| LOW | Server/tests/integration/test_logging_stdout.py | 21 | CODE | |
| LOW | Server/src/main.py | 150 | CODE | |
| LOW | Server/src/main.py | 376 | CODE | |
| LOW | Server/src/main.py | 656 | CODE | |
| LOW | Server/src/main.py | 415 | CODE | |
| LOW | Server/src/main.py | 553 | CODE | |
| LOW | Server/src/transport/plugin_registry.py | 115 | CODE | |
| LOW | Server/src/transport/plugin_hub.py | 224 | CODE | |
| LOW | Server/src/transport/plugin_hub.py | 287 | CODE | |
| LOW | Server/src/transport/plugin_hub.py | 435 | CODE | |
| LOW | Server/src/transport/plugin_hub.py | 696 | CODE | |
| LOW | Server/src/transport/plugin_hub.py | 997 | CODE | |
| LOW | Server/src/transport/blender_timeout.py | 13 | CODE | |
| LOW | Server/src/transport/unity_instance_middleware.py | 97 | CODE | |
| LOW | Server/src/transport/unity_instance_middleware.py | 215 | CODE | |
| LOW | Server/src/transport/unity_instance_middleware.py | 324 | CODE | |
| LOW | Server/src/transport/legacy/port_discovery.py | 64 | CODE | |
| LOW | Server/src/transport/legacy/port_discovery.py | 134 | CODE | |
| LOW | Server/src/transport/legacy/port_discovery.py | 226 | CODE | |
| LOW | Server/src/transport/legacy/unity_connection.py | 947 | CODE | |
| LOW | Server/src/transport/legacy/unity_connection.py | 53 | CODE | |
| LOW | Server/src/transport/legacy/unity_connection.py | 173 | CODE | |
| LOW | Server/src/transport/legacy/unity_connection.py | 276 | CODE | |
| LOW | Server/src/transport/legacy/unity_connection.py | 299 | CODE | |
| LOW | Server/src/core/telemetry_decorator.py | 17 | CODE | |
| LOW | Server/src/core/telemetry_decorator.py | 19 | CODE | |
| LOW | Server/src/core/telemetry_decorator.py | 21 | CODE | |
| LOW | Server/src/core/telemetry_decorator.py | 64 | CODE | |
| LOW | Server/src/core/telemetry.py | 259 | CODE | |
| LOW | Server/src/core/telemetry.py | 373 | CODE | |
| LOW | Server/src/utils/focus_nudge.py | 145 | CODE | |
| LOW | Server/src/utils/focus_nudge.py | 187 | CODE | |
| LOW | Server/src/utils/focus_nudge.py | 253 | CODE | |
| LOW | Server/src/utils/focus_nudge.py | 411 | CODE | |
| LOW | Server/src/utils/focus_nudge.py | 494 | CODE | |
| LOW | Server/src/utils/focus_nudge.py | 633 | CODE | |
| 41 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tools/tests/test_build_release_characterization.py | 1611 | # Step 1: Dry-run | STRING |
| LOW⚡ | tools/tests/test_build_release_characterization.py | 1614 | # Step 2: Real update | STRING |
| LOW⚡ | tools/tests/test_build_release_characterization.py | 1625 | # Step 3: Validate | STRING |
| LOW⚡ | tools/tests/test_build_release_characterization.py | 1629 | # Step 4: Would create git commit with message: | STRING |
| LOW⚡ | tools/tests/test_build_release_characterization.py | 1632 | # Step 5: Would create git tag: | STRING |
| LOW⚡ | MCPForUnity/Editor/Tools/ManageEditor.cs | 29 | // Step 1: Null parameter guard (consistent across all tools) | COMMENT |
| LOW⚡ | MCPForUnity/Editor/Tools/ManageEditor.cs | 35 | // Step 2: Wrap parameters | COMMENT |
| LOW⚡ | MCPForUnity/Editor/Tools/ManageEditor.cs | 38 | // Step 3: Extract and validate required parameters | COMMENT |
| LOW | MCPForUnity/Editor/Tools/ManageScript.cs | 2647 | // Step 1: Build a code-only view (comments/strings replaced with spaces) | COMMENT |
| LOW | MCPForUnity/Editor/Tools/ManageScript.cs | 2664 | // Step 2: Build containing type name at each position via single pass | COMMENT |
| LOW | MCPForUnity/Editor/Tools/ManageScript.cs | 2739 | // Step 3: Match method signatures on code-only text (includes => for expression-bodied) | COMMENT |
| LOW | MCPForUnity/Editor/Services/Server/ProcessDetector.cs | 181 | // Step 1: Check if process name matches known server executables | COMMENT |
| LOW | MCPForUnity/Editor/Services/Server/ProcessDetector.cs | 192 | // Step 2: Try to get command line with wmic for better validation | COMMENT |
| LOW⚡ | Server/src/cli/commands/ui.py | 38 | # Step 1: Create empty GameObject | COMMENT |
| LOW⚡ | Server/src/cli/commands/ui.py | 48 | # Step 2: Add Canvas components | COMMENT |
| LOW⚡ | Server/src/cli/commands/ui.py | 119 | # Step 2: Add RectTransform and TextMeshProUGUI | COMMENT |
| LOW⚡ | Server/src/cli/commands/ui.py | 126 | # Step 3: Set text content | COMMENT |
| LOW⚡ | Server/src/cli/commands/ui.py | 172 | # Step 2: Add Button and Image components | COMMENT |
| LOW⚡ | Server/src/cli/commands/ui.py | 180 | # Step 3: Create child label GameObject | COMMENT |
| LOW⚡ | Server/src/cli/commands/ui.py | 188 | # Step 4: Add TextMeshProUGUI to label and set text | COMMENT |
| LOW⚡ | Server/src/cli/commands/ui.py | 240 | # Step 2: Add Image component | COMMENT |
| LOW⚡ | Server/src/cli/commands/ui.py | 247 | # Step 3: Set sprite if provided | COMMENT |
| LOW | Server/src/cli/commands/ui.py | 63 | # Step 3: Set render mode | COMMENT |
| LOW | Server/src/cli/commands/ui.py | 107 | # Step 1: Create empty GameObject with parent | COMMENT |
| LOW | Server/src/cli/commands/ui.py | 161 | # Step 1: Create empty GameObject with parent | COMMENT |
| LOW | Server/src/cli/commands/ui.py | 229 | # Step 1: Create empty GameObject with parent | COMMENT |
| LOW | Server/src/cli/commands/code.py | 195 | # Step 1: Read the file via Unity's manage_script | COMMENT |
| LOW | Server/src/cli/commands/code.py | 227 | # Step 2: Perform regex search locally | COMMENT |
| LOW | Server/src/cli/commands/lighting.py | 58 | # Step 1: Create empty GameObject with position | COMMENT |
| LOW | Server/src/cli/commands/lighting.py | 69 | # Step 2: Add Light component using manage_components | COMMENT |
| LOW | Server/src/cli/commands/lighting.py | 80 | # Step 3: Set light type using manage_components set_property | COMMENT |
| LOW | Server/src/cli/commands/lighting.py | 93 | # Step 4: Set color if provided | COMMENT |
| LOW | Server/src/cli/commands/lighting.py | 107 | # Step 5: Set intensity if provided | COMMENT |
| LOW | …ts/Tests/EditMode/Tools/DomainReloadResilienceTests.cs | 74 | // Step 1: Create a script to trigger domain reload | COMMENT |
| LOW | …ts/Tests/EditMode/Tools/DomainReloadResilienceTests.cs | 92 | // Step 2: Make multiple rapid read_console calls | COMMENT |
| LOW | …ts/Tests/EditMode/Tools/DomainReloadResilienceTests.cs | 126 | // Step 3: Verify all calls succeeded | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tools/local_harness.py | 97 | # recommendation, so the harness passes it explicitly. | COMMENT |
| MEDIUM⚡ | tools/local_harness.py | 743 | # Launcher seam (local vs docker). Inlined here so the harness is a single, | COMMENT |
| MEDIUM | tools/local_harness.py | 714 | # discover_editor / resolve_version / classify_log / aggregate_exit; the harness | COMMENT |
| MEDIUM | tools/local_harness.py | 1230 | # frees up or the deadline expires (rather than crashing the harness). | COMMENT |
| MEDIUM⚡ | tools/tests/test_local_harness.py | 669 | # harness docstring's -manualLicenseFile example must be passed). | COMMENT |
| MEDIUM⚡ | tools/tests/test_local_harness.py | 791 | # must treat a raised transport error as non-terminal, not crash the harness. | COMMENT |
| MEDIUM⚡ | tools/tests/test_build_release_characterization.py | 1329 | """Test comprehensive version consistency validation checklist. | STRING |
| MEDIUM | tools/tests/test_build_release_characterization.py | 388 | """Test comprehensive version consistency check across all files. | STRING |
| MEDIUM | MCPForUnity/Editor/Tools/ManageScriptableObject.cs | 607 | // Use ParamCoercion for robust int parsing | COMMENT |
| MEDIUM | MCPForUnity/Editor/Tools/ManageScriptableObject.cs | 924 | // Use ParamCoercion for robust bool parsing (handles "true", "1", "yes", etc.) | COMMENT |
| MEDIUM | MCPForUnity/Editor/Tools/ManageScriptableObject.cs | 947 | // Use ParamCoercion for robust float parsing | COMMENT |
| MEDIUM | MCPForUnity/Editor/Tools/ManageAsset.cs | 427 | // Deprecated: Prefer manage_scriptable_object for robust patching. | COMMENT |
| MEDIUM | MCPForUnity/Editor/Helpers/ComponentOps.cs | 869 | /// to a SerializedProperty. Uses GameObjectLookup for robust search | COMMENT |
| MEDIUM | …s/RoslynRuntimeCompilation/ManageRuntimeCompilation.cs | 508 | /// This allows MCP commands to leverage the existing GUI tool | COMMENT |
| LOW⚡ | Server/tests/test_transport_characterization.py | 1500 | # Should not raise, just return None | COMMENT |
| LOW | Server/src/services/tools/find_in_file.py | 167 | # We can just return the line content as excerpt | COMMENT |
| MEDIUM | Server/src/services/tools/manage_asset.py | 62 | # --- Normalize properties using robust module-level helper --- | COMMENT |
| LOW | .github/workflows/claude-nl-suite.yml | 1011 | # Otherwise, just return the canonical ID | STRING |
| MEDIUM | .github/workflows/e2e-bridge.yml | 143 | # In --ci mode the harness drives the DockerLauncher: it runs the same | COMMENT |
| MEDIUM | .github/workflows/e2e-bridge.yml | 165 | # The harness snapshots redacted Editor logs before removing its container. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | Server/tests/test_manage_profiler.py | 0 | patch unity transport layer and return captured call dict. | STRING |
| HIGH | Server/tests/test_unity_reflect.py | 0 | patch unity transport layer and return captured call dict. | STRING |
| HIGH | Server/tests/test_manage_probuilder.py | 0 | patch unity transport layer and return captured call dict. | STRING |
| HIGH | Server/tests/test_manage_build.py | 0 | patch unity transport layer and return captured call dict. | STRING |
| HIGH | Server/tests/test_manage_camera.py | 0 | patch unity transport layer and return captured call dict. | STRING |
| HIGH | Server/tests/test_manage_graphics.py | 0 | patch unity transport layer and return captured call dict. | STRING |
| HIGH | Server/tests/test_unity_reflect.py | 0 | when unity returns a non-dict, it should be wrapped. | STRING |
| HIGH | Server/tests/test_manage_camera.py | 0 | when unity returns a non-dict, it should be wrapped. | STRING |
| HIGH | Server/tests/test_manage_graphics.py | 0 | when unity returns a non-dict, it should be wrapped. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | Server/tests/test_cli.py | 1334 | # Create a temp batch file | COMMENT |
| MEDIUM⚡ | …ver/tests/integration/test_external_changes_scanner.py | 12 | # Create a minimal Unity-like layout | COMMENT |
| MEDIUM⚡ | …ver/tests/integration/test_external_changes_scanner.py | 22 | # Create a file before baseline so the initial scan establishes a stable reference point. | COMMENT |
| MEDIUM | …ver/tests/integration/test_domain_reload_resilience.py | 22 | # Create a mock registry | COMMENT |
| MEDIUM | …ver/tests/integration/test_domain_reload_resilience.py | 77 | # Create a mock registry that never returns sessions | COMMENT |
| MEDIUM | …ver/tests/integration/test_domain_reload_resilience.py | 227 | # Create a mock registry with two sessions | COMMENT |
| MEDIUM | Server/src/core/config.py | 98 | # Create a global config instance | COMMENT |
| MEDIUM | Server/src/services/registry/tool_registry.py | 67 | tool_kwargs = dict(kwargs) # Create a copy to avoid side effects | CODE |
| MEDIUM | .github/workflows/beta-release.yml | 120 | # Create a temporary branch for the version update | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Server/tests/conftest.py | 54 | # Check if test is in integration/ directory | COMMENT |
| LOW | Server/src/transport/plugin_hub.py | 708 | # Check if we're still supposed to be running and get last pong time (under lock) | COMMENT |
| LOW | Server/src/transport/legacy/unity_connection.py | 229 | # Check if we've received a complete response | COMMENT |
| LOW | Server/src/utils/focus_nudge.py | 766 | # Check if job appears stalled | STRING |
| LOW | Server/src/utils/module_discovery.py | 42 | # Check if subdirectory contains Python modules | COMMENT |
| LOW | Server/src/cli/commands/code.py | 265 | # Display results | COMMENT |
| LOW | Server/src/cli/commands/lighting.py | 121 | # Output the result | COMMENT |
| LOW | Server/src/services/tools/manage_gameobject.py | 294 | # Check if 'saveAsPrefab' is explicitly True in params | COMMENT |
| LOW⚡ | Server/src/services/tools/manage_gameobject.py | 318 | # Check if the response indicates success | COMMENT |
| LOW | Server/src/services/tools/run_tests.py | 476 | # Check if tests are done | COMMENT |
| LOW | Server/src/services/tools/utils.py | 245 | # Check if it looks like a JSON array but will fail to parse | COMMENT |
| LOW | Server/src/services/tools/utils.py | 296 | # Check if input is normalized (0-1) or already 0-255 | COMMENT |
| LOW | Server/src/services/tools/manage_script.py | 121 | # Read file to support index->line/col conversion when needed | COMMENT |
| LOW | Server/src/services/resources/__init__.py | 75 | # Check if URI contains query parameters (e.g., {?unity_instance}) | COMMENT |
| LOW | .github/workflows/release.yml | 120 | # Check if beta has changes not in main | COMMENT |
| LOW | .github/workflows/beta-release.yml | 55 | # Check if already a beta version - increment beta number | COMMENT |
| LOW | .github/workflows/beta-release.yml | 129 | # Check if PR already exists | COMMENT |
| LOW | .github/workflows/beta-release.yml | 188 | # Check if already a beta/prerelease version | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | Server/src/transport/legacy/unity_connection.py | 560 | Resolve an instance identifier to a specific Unity instance. Args: instance_identifier: Us | STRING |
| HIGH | Server/src/transport/legacy/unity_connection.py | 674 | Get or create a connection to a Unity instance. Args: instance_identifier: Optional identi | STRING |
| HIGH | Server/src/cli/utils/parsers.py | 10 | Parse a value, trying JSON → float → string fallback. This is used for property values that could be JSON objects/a | STRING |
| HIGH | Server/src/cli/utils/connection.py | 78 | Send a command to Unity via the MCP HTTP server. Args: command_type: The command type (e.g., 'manage_gameob | STRING |
| HIGH | Server/src/cli/utils/confirmation.py | 13 | Prompt user to confirm destructive action unless --force flag is set. Args: action: The action being perfor | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Server/src/services/tools/manage_prefabs.py | 48 | CODE | |
| LOW | Server/src/services/tools/manage_gameobject.py | 136 | CODE | |
| LOW | Server/src/services/tools/run_tests.py | 334 | CODE | |
| LOW | Server/src/services/tools/blender_bridge.py | 57 | CODE | |
| LOW | Server/src/services/tools/manage_graphics.py | 81 | CODE | |
| LOW | Server/src/services/tools/manage_material.py | 24 | CODE | |
| LOW | Server/src/services/tools/read_console.py | 35 | CODE | |
| LOW | Server/src/services/tools/generate_image.py | 42 | CODE | |
| LOW | Server/src/services/tools/manage_asset.py | 30 | CODE | |
| LOW | Server/src/services/tools/manage_texture.py | 389 | CODE | |
| LOW | Server/src/services/tools/utils.py | 459 | CODE | |
| LOW | Server/src/services/tools/manage_build.py | 50 | CODE | |
| LOW | Server/src/services/tools/generate_audio.py | 42 | CODE | |
| LOW | Server/src/services/tools/manage_physics.py | 54 | CODE | |
| LOW | Server/src/services/tools/unity_docs.py | 722 | CODE | |
| LOW | Server/src/services/tools/manage_profiler.py | 63 | CODE | |
| LOW | Server/src/services/tools/manage_ui.py | 54 | CODE | |
| LOW | Server/src/services/tools/import_model.py | 42 | CODE | |
| LOW | Server/src/services/tools/manage_scene.py | 28 | CODE | |
| LOW | Server/src/services/tools/manage_sprite.py | 56 | CODE | |
| LOW | Server/src/services/tools/generate_model.py | 41 | CODE | |
| LOW | Server/src/services/tools/manage_camera.py | 79 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/ci_unity_license.py | 88 | export GAME_CI_ACTIVATED_VIA="$(cat "$ACTIVATE_LICENSE_PATH/activated-via" 2>/dev/null)" | CODE |
| HIGH | tools/generate_docs_reference.py | 27 | cd Server && uv sync && cd .. && uv --project Server run python tools/generate_docs_reference.py --check | STRING |
| HIGH⚡ | tools/tests/test_ci_unity_license.py | 139 | 'test "$GAME_CI_ACTIVATED_VIA" = personal || exit 8\nRETURN_EXIT_CODE=0\n', encoding="utf-8") | CODE |
| HIGH | …ver/tests/test_core_infrastructure_characterization.py | 17 | cd Server && uv run pytest tests/test_core_infrastructure_characterization.py -v | STRING |
| HIGH | Server/src/services/tools/script_apply_edits.py | 701 | "replacement": "public bool HasTarget(){ return currentTarget!=null; }" | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | website/docs/guides/remote-server-auth.md | 108 | "X-API-Key": "<your-api-key>" | CODE |
| HIGH | website/docs/guides/remote-server-auth.md | 119 | --header "X-API-Key: <your-api-key>" | CODE |
| HIGH | Server/README.md | 229 | "X-API-Key": "<your-api-key>" | CODE |
| HIGH | Server/DOCKER_OVERVIEW.md | 103 | "X-API-Key": "<your-api-key>" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Server/tests/conftest.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | Server/src/transport/plugin_registry.py | 189 | __all__ = ["PluginRegistry", "PluginSession"] | CODE |
| LOW | Server/src/transport/unity_transport.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | Server/src/transport/plugin_hub.py | 38 | logger = logging.getLogger(__name__) | CODE |
| LOW | Server/src/transport/unity_instance_middleware.py | 39 | def set_unity_instance_middleware(middleware: 'UnityInstanceMiddleware') -> None: | CODE |
| LOW | Server/src/transport/unity_instance_middleware.py | 72 | async def set_active_instance(self, ctx, instance_id: str) -> None: | CODE |
| LOW | Server/src/utils/focus_nudge.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | Server/src/models/__init__.py | 4 | __all__ = ['MCPResponse', 'UnityInstanceInfo', 'normalize_unity_response', 'parse_resource_response'] | CODE |
| LOW | Server/src/cli/utils/config.py | 56 | def set_config(config: CLIConfig) -> None: | CODE |
| LOW | Server/src/cli/utils/__init__.py | 18 | __all__ = [ | CODE |
| LOW | Server/src/services/api_key_service.py | 258 | __all__ = ["ApiKeyService", "ValidationResult"] | CODE |
| LOW | Server/src/services/tools/refresh_unity.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | Server/src/services/tools/run_tests.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | Server/src/services/tools/__init__.py | 17 | __all__ = [ | CODE |
| LOW | Server/src/services/tools/batch_execute.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | Server/src/services/resources/__init__.py | 20 | __all__ = ['register_all_resources'] | CODE |
| LOW | Server/src/services/state/external_changes_scanner.py | 51 | def set_project_root(self, instance_id: str, project_root: str | None) -> None: | CODE |
| LOW | Server/src/services/registry/__init__.py | 18 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | MCPForUnity/Editor/Tools/Prefabs/ManagePrefabs.cs | 597 | /// This is ideal for automated/agentic workflows as it avoids UI, dirty flags, and dialogs. | COMMENT |
| MEDIUM | Server/src/transport/plugin_hub.py | 881 | # NOTE: This wait can impact agentic workflows where domain reloads happen | COMMENT |
| MEDIUM | Server/src/transport/legacy/unity_connection.py | 851 | # NOTE: This wait can impact agentic workflows where domain reloads happen | COMMENT |
| MEDIUM | …Tests/EditMode/Tools/MaterialMeshInstantiationTests.cs | 200 | // Removed low-value property-presence tests; the instanceID tests are the authoritative guardrails. | COMMENT |
| MEDIUM | …s/Assets/Tests/EditMode/AssetGen/AssetGenPrefsTests.cs | 10 | /// Phase 0 scaffold: non-secret AssetGen preferences round-trip through EditorPrefs | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/pypi_publish.sh | 13 | # Usage: | COMMENT |
| LOW | tools/install-hooks.sh | 4 | # Usage: | COMMENT |
| LOW | tools/docker_publish.sh | 8 | # Usage: | COMMENT |
| LOW | tools/check-unity-versions.sh | 4 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | unity-mcp-skill/references/workflows.md | 1158 | "component_type": "TMP_InputField", "property": "placeholder", | CODE |
| LOW | .claude/skills/unity-mcp-skill/references/workflows.md | 1158 | "component_type": "TMP_InputField", "property": "placeholder", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Server/tests/test_cli.py | 1466 | "contents": "// TODO: implement this\n// FIXME: bug here\nclass Test {}\n", | CODE |