{"record":{"id":"5728f073422a53f5","repo":"CoplayDev/unity-mcp","slug":"no-unity-editor-binary-found-searched-n","errorCode":null,"errorMessage":"No Unity editor binary found. Searched:\\n  ","messagePattern":"No Unity editor binary found\\. Searched:\\\\n  ","errorType":"exception","errorClass":"EditorNotFound","httpStatus":null,"severity":"error","filePath":"tools/local_harness.py","lineNumber":752,"sourceCode":"class Handle:\n    \"\"\"A live editor handle. Exactly one of (proc, container) is meaningful.\"\"\"\n\n    proc: Any = None  # subprocess.Popen for LocalLauncher\n    container: str | None = None  # container name for DockerLauncher\n    log_path: str | None = None\n    pid: int | None = None\n\n\nclass LocalLauncher:\n    \"\"\"Boots a native Hub editor via detached Popen; PID-based liveness.\"\"\"\n\n    def __init__(self, args: argparse.Namespace):\n        self.args = args\n\n    def resolve_editor(self, project_path: Path) -> EditorSpec:\n        version = self.args.unity_version or resolve_version(project_path)\n        if not version:\n            raise EditorNotFound(searched=[])\n        return discover_editor(version, explicit_editor=self.args.editor)\n\n    @staticmethod\n    def warmup_argv(editor: str, project_path: Path, log_path: Path) -> list[str]:\n        return [\n            editor, \"-batchmode\", \"-nographics\", \"-quit\",\n            \"-projectPath\", str(project_path),\n            \"-logFile\", str(log_path),\n        ]\n\n    @staticmethod\n    def resident_argv(editor: str, project_path: Path, log_path: Path,\n                      extra_editor_args: list[str]) -> list[str]:\n        return [\n            editor, \"-batchmode\", \"-nographics\",\n            \"-projectPath\", str(project_path),\n            \"-logFile\", str(log_path),\n            *list(extra_editor_args or []),","sourceCodeStart":734,"sourceCodeEnd":770,"githubUrl":"https://github.com/CoplayDev/unity-mcp/blob/c21bf496bca87d54e75bad048563c3adb1782081/tools/local_harness.py#L734-L770","documentation":"Raised by LocalLauncher.resolve_editor when resolve_version(project_path) returned an empty value, so the harness cannot even begin searching for an editor binary. Because no version was resolved, the searched list is empty and __str__ prints 'No Unity editor binary found. Searched:\\n  ' with no paths.","triggerScenarios":"resolve_version reads ProjectSettings/ProjectVersion.txt and finds no m_EditorVersion: line (or the file is missing/empty), so version is falsy and resolve_editor raises EditorNotFound(searched=[]) at local_harness.py:749-750.","commonSituations":"The --project-path points at a folder that is not a Unity project (no ProjectSettings/ProjectVersion.txt); the file is corrupted/empty; a fresh project template was not initialized by Unity yet.","solutions":["Point --project-path at a real Unity project that contains ProjectSettings/ProjectVersion.txt.","Pass --unity-version 2022.3.0f1 explicitly to bypass ProjectVersion.txt parsing.","If the project is new, open it once in Unity Hub so ProjectVersion.txt is written."],"exampleFix":"# before\npython tools/local_harness.py --project-path /tmp/empty-folder  # no ProjectVersion.txt\n# after\npython tools/local_harness.py --project-path TestProjects/UnityMCPTests --unity-version 2022.3.0f1","handlingStrategy":"validation","validationCode":"version = args.unity_version or resolve_version(project_path)\nif not version:\n    raise SystemExit(f'{project_path} has no ProjectVersion.txt; pass --unity-version')","typeGuard":"def has_project_version(p: pathlib.Path) -> bool:\n    return (p / 'ProjectSettings' / 'ProjectVersion.txt').exists()","tryCatchPattern":"from tools.local_harness import EditorNotFound\ntry:\n    spec = launcher.resolve_editor(project_path)\nexcept EditorNotFound as e:\n    if not e.searched:\n        print('No version resolved; pass --unity-version'); sys.exit(5)\n    raise","preventionTips":["Point --project-path at a real Unity project","Pass --unity-version to bypass ProjectVersion.txt","Open new projects once in Hub to write ProjectVersion.txt"],"tags":["tooling","unity-editor","validation","harness"],"backgroundTag":null,"analyzedSha":"c21bf496bca87d54e75bad048563c3adb1782081","analyzedAt":"2026-08-13T17:36:56.095Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}