Skip to content

feat: Editor menus, windows, and CLI messages now use the name Unity Loop Harness - #3391

Draft
hatayama wants to merge 4 commits into
mainfrom
feat/rename-editor-and-cli-to-unity-loop-harness
Draft

hatayama wants to merge 4 commits into
mainfrom
feat/rename-editor-and-cli-to-unity-loop-harness

Conversation

@hatayama

@hatayama hatayama commented Oct 24, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • The Unity Editor menus, windows, Project Settings entry, and Editor messages now show the name Unity Loop Harness.
  • uloop messages, the Windows executable file details, skill text, and the menu paths in the docs use the new name too.

User Impact

  • Before: the project had been renamed, but the Editor still showed Window > Unity CLI Loop > ..., window titles and Project Settings still said "Unity CLI Loop", and CLI errors and launch output used the old name.
  • After: everything a user reads says "Unity Loop Harness" (for example Window > Unity Loop Harness > Settings). Commands, package IDs, settings files, and type names are unchanged, so existing projects and scripts keep working.

Changes

  • Unity package (C#, uxml, comments) and its tests and samples: replace the spaced display name "Unity CLI Loop" with "Unity Loop Harness". This includes the five Window menu items, window titles, the Project Settings path, the tool-settings menu path embedded in disabled-tool errors, and the execute-dynamic-code readiness snippet. The Editor matches that snippet after hoisting its literals, so changing the literal text does not break the match, even between an old CLI and a new Editor.
  • CLI (shared modules, dispatcher, project runner, release automation): error messages, launch/readiness output, winres.json file details, the winget package name, and the recovery smoke script, with their tests. Shared release input stamps are refreshed with scripts/stamp-release-inputs.sh.
  • Skill sources updated and the .claude / .agents copies regenerated with uloop skills install.
  • README and package docs: menu paths, window names, and image alt text.
  • Identifiers are not renamed: type names, namespaces, asmdef names, settings file names, the [UnityCliLoop] log prefix, package IDs, the repository name, and Go module paths.

Intentionally left unchanged:

  • All CHANGELOG.md files: release history written by release-please.
  • README / README_ja lines that say the project was formerly called Unity CLI Loop and that the Package Manager listed it under that name up to v3.19.0: these are for readers coming from the old name.
  • The "Unity CLI Loop" keyword in Packages/src/package.json: lets people searching for the old name still find the package.
  • The Build and Test Unity CLI Loop workflow name: not user facing, and existing procedures look runs up by this name.
  • productName in ProjectSettings/ProjectSettings.asset of the development project: changing it would move that project's persistent data paths.
  • Images under Packages/src/Documentation~/images/: the text inside them cannot be edited here.

Verification

  • git grep -n 'Unity CLI Loop' -- . ':!*CHANGELOG.md' lists only the 7 lines above.
  • uloop compile: 0 errors.
  • EditMode uloop run-tests, one class at a time, all passed: CliPinReaderServiceTests, CliPinSynchronizerTests, CompileLifecycleRecoveryCoordinatorTests, DomainReloadRecoveryUseCaseTests, CodeAnalysisPluginImporterTests, JsonRpcResponseFactoryWireShapeCharacterizationTests, MacProcessActivityApiTests, SetupWizardWindowTests, ThirdPartyToolMigrationWizardWindowTests, UnityCliLoopEditorSessionStateRepositoryTests, UnityCliLoopEditorSettingsRecoveryTests, UnityCliLoopProjectSettingsRepositoryTests, UnityCliLoopServerControllerRecoveryTests, UnityCliLoopServerStartupProtectionTests, UnityCliLoopSettingsWindowCliActionTests, UnityCliLoopSettingsWindowRefreshPolicyTests, UnityCliLoopToolRegistryTests, ExecuteDynamicCodeUseCaseTests. PlayMode MouseInputSimulationResponseFactoryTests passed.
  • In the Editor, the five menu items exist under Window/Unity Loop Harness/ (Settings, Recordings, Server, Setup Wizard, Custom Tool Migration) and none remain under the old path.
  • Go: golangci-lint fmt --diff, go vet, and golangci-lint run report 0 issues in all four modules; go test passes except two tests that need to bind Unix sockets or create directories under /tmp, which the local sandbox blocks (CI runs them).
  • scripts/test-smoke-cli-recovery-readiness.sh passed.
  • scripts/sync-tool-docs.sh --check and check-skill-size passed.
  • check-release-triggers --base origin/main --head HEAD passed.

View guided diff

…messages

The project was renamed from "Unity CLI Loop" to "Unity Loop Harness",
but the Editor still showed the old name under Window, in window titles,
in Project Settings, and in logs and error messages. Replace the spaced
display name everywhere in the package's C# and uxml, including comments,
the tool-settings menu path embedded in disabled-tool errors, and the
execute-dynamic-code readiness snippet.

The readiness snippet is safe to change because the Editor matches it
after literals are hoisted out of the source, so the literal text does
not take part in the match.

Identifiers (type names, namespaces, asmdef names, settings file names,
the [UnityCliLoop] log prefix, package IDs) are unchanged. Tests and
samples under Assets are updated to the new messages.
Skill bodies still referred to the old "Unity CLI Loop" name in menu paths and field descriptions. Update the skill sources and regenerate the .claude and .agents copies with uloop skills install.
uloop error messages, launch and readiness output, and the Windows
executable file details still used the old "Unity CLI Loop" name.
Replace the spaced display name in the dispatcher, the project runner,
the shared CLI modules, the winget package name, and the recovery smoke
script that matches CLI messages, along with their tests.

The execute-dynamic-code readiness probe text changes too; the Editor
matches the probe after hoisting literals, so an Editor and CLI from
different sides of this change still agree.

Shared release inputs changed, so the dispatcher and project runner
stamps are refreshed with scripts/stamp-release-inputs.sh.
Menu paths such as Window > Unity CLI Loop > Settings and window names in the README and package docs now match the renamed Editor menus. The notes that mention the former name for readers arriving from it stay as they are.
@coderabbitai

coderabbitai Bot commented Oct 24, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 164 files, which is 14 over the limit of 150.

To get a review, reduce the PR to 150 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

Run configuration
Commits

Reviewing files that changed from the base of the PR and between c678680 and b62789e.

Files ignored due to path filters: 1
  • Assets/Tests/Demo/scripts/verify-replay-via-cli.ps1 is excluded by none and included by none
Files selected for processing: 164
  • .agents/skills/uloop-launch/SKILL.md
  • .agents/skills/uloop-replay-input/SKILL.md
  • .agents/skills/uloop-simulate-keyboard/references/output.md
  • .claude/skills/uloop-launch/SKILL.md
  • .claude/skills/uloop-replay-input/SKILL.md
  • .claude/skills/uloop-simulate-keyboard/references/output.md
  • Assets/Editor/CompileCheckWindow/CompileCheckerExample.cs
  • Assets/Editor/CompileCheckWindow/CompileLogDisplay.cs
  • Assets/Editor/CustomCommandSamples/GetProjectInfo/Skill/SKILL.md
  • Assets/Editor/FindGameObjects/FindGameObjectsTestMenu.cs
  • Assets/Tests/Demo/scripts/verify-replay-via-cli.sh
  • Assets/Tests/Editor/CliPinReaderServiceTests.cs
  • Assets/Tests/Editor/CliPinSynchronizerTests.cs
  • Assets/Tests/Editor/CompileLifecycleRecoveryCoordinatorTests.cs
  • Assets/Tests/Editor/DomainReloadRecoveryUseCaseTests.cs
  • Assets/Tests/Editor/DynamicCodeToolTests/CodeAnalysisPluginImporterTests.cs
  • Assets/Tests/Editor/JsonRpcResponseFactoryWireShapeCharacterizationTests.cs
  • Assets/Tests/Editor/MacProcessActivityApiTests.cs
  • Assets/Tests/Editor/SetupWizardWindowTests.cs
  • Assets/Tests/Editor/ThirdPartyToolMigrationWizardWindowTests.cs
  • Assets/Tests/Editor/UnityCliLoopEditorSessionStateRepositoryTests.cs
  • Assets/Tests/Editor/UnityCliLoopEditorSettingsRecoveryTests.cs
  • Assets/Tests/Editor/UnityCliLoopProjectSettingsRepositoryTests.cs
  • Assets/Tests/Editor/UnityCliLoopServerControllerStartupLockTests.cs
  • Assets/Tests/Editor/UnityCliLoopServerStartupProtectionTests.cs
  • Assets/Tests/Editor/UnityCliLoopSettingsWindowCliActionTests.cs
  • Assets/Tests/Editor/UnityCliLoopSettingsWindowRefreshPolicyTests.cs
  • Assets/Tests/Editor/UnityCliLoopToolRegistryTests.cs
  • Assets/Tests/PlayMode/MouseInputSimulationResponseFactoryTests.cs
  • Packages/src/Documentation~/migration-v2-to-v3.md
  • Packages/src/Documentation~/migration-v2-to-v3_ja.md
  • Packages/src/Documentation~/tools.md
  • Packages/src/Documentation~/tools_ja.md
  • Packages/src/Documentation~/whats-new-v3.md
  • Packages/src/Documentation~/whats-new-v3_ja.md
  • Packages/src/Editor/Application/ImprovedErrorHandler.cs
  • Packages/src/Editor/Application/SessionRecoveryService.cs
  • Packages/src/Editor/Application/UnityCliLoopEditorDomainReloadStateProvider.cs
  • Packages/src/Editor/Application/UnityCliLoopServerApplicationService.cs
  • Packages/src/Editor/Application/UnityCliLoopToolRegistrar.cs
  • Packages/src/Editor/Application/UnityCliLoopUIConstants.cs
  • Packages/src/Editor/CliOnlyTools~/GetVersion/Skill/SKILL.md
  • Packages/src/Editor/CliOnlyTools~/Launch/Skill/SKILL.md
  • Packages/src/Editor/CompositionRoot/UnityCliLoopApplicationRegistration.cs
  • Packages/src/Editor/CompositionRoot/UnityCliLoopEditorBootstrap.cs
  • Packages/src/Editor/CompositionRoot/UnityCliLoopEditorBootstrapper.cs
  • Packages/src/Editor/Domain/CliConstants.cs
  • Packages/src/Editor/Domain/CliPathSetupProfileResolver.cs
  • Packages/src/Editor/Domain/CliVersionComparer.cs
  • Packages/src/Editor/Domain/IUnityCliLoopEditorSettingsPort.cs
  • Packages/src/Editor/Domain/IUnityCliLoopProjectSettingsPort.cs
  • Packages/src/Editor/Domain/SkillSetupTargetInfo.cs
  • Packages/src/Editor/Domain/UnityCliLoopCompileResultSessionRepositoryFacade.cs
  • Packages/src/Editor/Domain/UnityCliLoopCompileSessionLifecycleFacade.cs
  • Packages/src/Editor/Domain/UnityCliLoopPendingCompileSessionRepositoryFacade.cs
  • Packages/src/Editor/Domain/UnityCliLoopRunTestsSessionRepositoryFacade.cs
  • Packages/src/Editor/Domain/UnityCliLoopSessionFlagsFacade.cs
  • Packages/src/Editor/FirstPartyTools/ClearConsole/ConsoleClearService.cs
  • Packages/src/Editor/FirstPartyTools/Common/EditorUtility/DomainReloadDisableScope.cs
  • Packages/src/Editor/FirstPartyTools/Common/InputRecording/InputEventTypes.cs
  • Packages/src/Editor/FirstPartyTools/Common/InputRecording/InputRecorder.cs
  • Packages/src/Editor/FirstPartyTools/Common/InputRecording/InputRecordingData.cs
  • Packages/src/Editor/FirstPartyTools/Common/InputRecording/InputReplayer.cs
  • Packages/src/Editor/FirstPartyTools/Compile/CompileLifecycleRecoveryCoordinator.cs
  • Packages/src/Editor/FirstPartyTools/Compile/ExternalPrefabStageChangeTracker.cs
  • Packages/src/Editor/FirstPartyTools/Compile/ExternalSceneChangeTracker.cs
  • Packages/src/Editor/FirstPartyTools/ControlPlayMode/ControlPlayModeTool.cs
  • Packages/src/Editor/FirstPartyTools/ExecuteDynamicCode/Compilation/CompilerDiagnostics.cs
  • Packages/src/Editor/FirstPartyTools/ExecuteDynamicCode/Compilation/DynamicCompilationPlan.cs
  • Packages/src/Editor/FirstPartyTools/ExecuteDynamicCode/Compilation/HoistedLiteralBinding.cs
  • Packages/src/Editor/FirstPartyTools/ExecuteDynamicCode/Compilation/ICompiledAssemblyBuilder.cs
  • Packages/src/Editor/FirstPartyTools/ExecuteDynamicCode/Compilation/PreparedDynamicCode.cs
  • Packages/src/Editor/FirstPartyTools/ExecuteDynamicCode/DynamicCodeServices.cs
  • Packages/src/Editor/FirstPartyTools/ExecuteDynamicCode/DynamicCompilation/AssemblyBuilderFallbackCompilerBackend.cs
  • Packages/src/Editor/FirstPartyTools/ExecuteDynamicCode/DynamicCompilation/CompiledAssemblyLoader.cs
  • Packages/src/Editor/FirstPartyTools/ExecuteDynamicCode/DynamicCompilation/DynamicCodeLiteralHoister.cs
  • Packages/src/Editor/FirstPartyTools/ExecuteDynamicCode/DynamicCompilation/DynamicCodeSourcePreparer.cs
  • Packages/src/Editor/FirstPartyTools/ExecuteDynamicCode/DynamicCompilation/DynamicCompilationBackend.cs
  • Packages/src/Editor/FirstPartyTools/ExecuteDynamicCode/DynamicCompilation/DynamicCompilationPlanner.cs
  • Packages/src/Editor/FirstPartyTools/ExecuteDynamicCode/DynamicCompilation/ExternalCompilerPaths.cs
  • Packages/src/Editor/FirstPartyTools/ExecuteDynamicCode/DynamicCompilation/RoslynCompilerBackend.cs
  • Packages/src/Editor/FirstPartyTools/ExecuteDynamicCode/DynamicCompilation/SharedRoslynCompilerWorkerHost.cs
  • Packages/src/Editor/FirstPartyTools/ExecuteDynamicCode/DynamicCompilation/SharedRoslynCompilerWorkerHostProcess.cs
  • Packages/src/Editor/FirstPartyTools/ExecuteDynamicCode/Execution/DynamicCodeExecutionSchedulerHooks.cs
  • Packages/src/Editor/FirstPartyTools/ExecuteDynamicCode/Execution/DynamicCodeForegroundWarmupSnippets.cs
  • Packages/src/Editor/FirstPartyTools/FindGameObjects/FindGameObjectsResponse.cs
  • Packages/src/Editor/FirstPartyTools/GetHierarchy/HierarchyAnalyzer/SceneHierarchyGroup.cs
  • Packages/src/Editor/FirstPartyTools/HotReload/HotReloadTools.cs
  • Packages/src/Editor/FirstPartyTools/PausePoint/PausePointTools.cs
  • Packages/src/Editor/FirstPartyTools/RecordInput/Presentation/RecordingsEditorWindow.cs
  • Packages/src/Editor/FirstPartyTools/ReplayInput/Skill/SKILL.md
  • Packages/src/Editor/FirstPartyTools/Screenshot/UIElementAnnotator.cs
  • Packages/src/Editor/FirstPartyTools/SimulateKeyboard/KeyboardInputSimulationResponseFactory.cs
  • Packages/src/Editor/FirstPartyTools/SimulateKeyboard/SimulateKeyboardResponse.cs
  • Packages/src/Editor/FirstPartyTools/SimulateKeyboard/Skill/references/output.md
  • Packages/src/Editor/FirstPartyTools/SimulateMouseInput/MouseInputSimulationResponseFactory.cs
  • Packages/src/Editor/FirstPartyTools/SimulateMouseUi/MouseUiSimulationCommand.cs
  • Packages/src/Editor/FirstPartyTools/Watch/WatchTools.cs
  • Packages/src/Editor/Infrastructure/Api/CompileStatusBridgeCommand.cs
  • Packages/src/Editor/Infrastructure/Api/UloopEnvelope.cs
  • Packages/src/Editor/Infrastructure/BridgeTransportListener.cs
  • Packages/src/Editor/Infrastructure/CLI/CliPathSetupWriter.cs
  • Packages/src/Editor/Infrastructure/CLI/CliPinReaderService.cs
  • Packages/src/Editor/Infrastructure/CLI/CliPinSynchronizer.cs
  • Packages/src/Editor/Infrastructure/ExecutionActivity/EditorExecutionActivity.cs
  • Packages/src/Editor/Infrastructure/ProjectRootCanonicalizer.cs
  • Packages/src/Editor/Infrastructure/Server/UnityCliLoopServerReadinessService.cs
  • Packages/src/Editor/Infrastructure/Server/UnityCliLoopServerRecoveryExecutor.cs
  • Packages/src/Editor/Infrastructure/Server/UnityCliLoopServerRecoveryTrackingService.cs
  • Packages/src/Editor/Infrastructure/Settings/UnityCliLoopEditorSettingsJsonData.cs
  • Packages/src/Editor/Infrastructure/Settings/UnityCliLoopEditorSettingsRecoveryScheduler.cs
  • Packages/src/Editor/Infrastructure/Settings/UnityCliLoopEditorSettingsRepository.cs
  • Packages/src/Editor/Infrastructure/Settings/UnityCliLoopProjectSettingsRepository.cs
  • Packages/src/Editor/Infrastructure/Settings/UnityCliLoopSessionFlagsRepository.cs
  • Packages/src/Editor/Infrastructure/SkillSetup/SkillInstallLayout.cs
  • Packages/src/Editor/Infrastructure/SkillSetup/SkillSourceFrontmatterReader.cs
  • Packages/src/Editor/Infrastructure/SkillSetup/ToolSkillSetupService.cs
  • Packages/src/Editor/Infrastructure/Threading/EditorMainThreadDispatcher.cs
  • Packages/src/Editor/Infrastructure/UnityCliLoopBridgeServerInstanceFactory.cs
  • Packages/src/Editor/Presentation/CliUninstallPrompt.cs
  • Packages/src/Editor/Presentation/Server/ServerEditorWindow.cs
  • Packages/src/Editor/Presentation/Setup/SetupWizardWindow.cs
  • Packages/src/Editor/Presentation/Setup/SetupWizardWindow.uxml
  • Packages/src/Editor/Presentation/Setup/ThirdPartyToolMigrationWizardText.cs
  • Packages/src/Editor/Presentation/Setup/ThirdPartyToolMigrationWizardView.cs
  • Packages/src/Editor/Presentation/Setup/ThirdPartyToolMigrationWizardWindow.cs
  • Packages/src/Editor/Presentation/UnityCliLoopProjectSettingsProvider.cs
  • Packages/src/Editor/Presentation/UnityCliLoopSettingsWindow.cs
  • Packages/src/Editor/Presentation/UnityCliLoopSettingsWindowEventHandler.cs
  • Packages/src/Editor/ToolContracts/EditorWindowCaptureUtility.cs
  • Packages/src/Editor/ToolContracts/MainThreadSwitcher.cs
  • Packages/src/Editor/ToolContracts/UnityCliLoopToolRegistrar.cs
  • Packages/src/Editor/ToolContracts/VibeLogger.cs
  • Packages/src/Runtime/PausePoints/UloopPausePoint.cs
  • Packages/src/Runtime/SimulateKeyboard/KeySymbolMap.cs
  • Packages/src/TemporarySkills~/v3-cli-invocation-migration/Skill/SKILL.md
  • Packages/src/TemporarySkills~/v3-cli-invocation-migration/Skill/references/first-party-v2-to-v3.md
  • Packages/uloop-hotreload-package-fixture/package.json
  • README.md
  • README_ja.md
  • cli/common/clicore/command_registry.go
  • cli/common/clicore/tool_readiness.go
  • cli/common/errors/error_envelope.go
  • cli/common/errors/error_envelope_classification.go
  • cli/common/errors/server_not_responding.go
  • cli/common/errors/server_not_responding_test.go
  • cli/common/errors/unity_endpoint_not_created.go
  • cli/common/skillscan/packages_test.go
  • cli/common/unityipc/client.go
  • cli/common/unityipc/client_outcome_test.go
  • cli/dispatcher/cmd/dispatcher/winres/winres.json
  • cli/dispatcher/internal/dispatcher/launch_ready.go
  • cli/dispatcher/internal/dispatcher/launch_test.go
  • cli/dispatcher/internal/dispatcher/package.go
  • cli/dispatcher/internal/dispatcher/run_dispatcher.go
  • cli/dispatcher/internal/dispatcher/skills_discovery.go
  • cli/dispatcher/shared-inputs-stamp.json
  • cli/project-runner/cmd/project-runner/winres/winres.json
  • cli/project-runner/internal/projectrunner/native_tool_settings.go
  • cli/project-runner/shared-inputs-stamp.json
  • cli/release-automation/internal/automation/winget_manifest_update.go
  • cli/release-automation/internal/automation/winget_manifest_update_test.go
  • scripts/smoke-cli-recovery-readiness.go
  • scripts/test-smoke-cli-recovery-readiness.sh

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant