# Claude Code 를 완전히 종료한 뒤 일반 PowerShell 창에서 실행하세요. # .claude.json 의 대/소문자 중복 프로젝트 키를 소문자 하나로 통일하고 # UnityMCP 서버 설정을 보존합니다. $path = Join-Path $env:USERPROFILE ".claude.json" $upper = "C:/repos/UnityProject/WhiteMan_Unity2D" $lower = "c:/repos/UnityProject/WhiteMan_Unity2D" # 백업 Copy-Item $path "$path.bak" -Force Write-Host "백업 생성: $path.bak" $json = Get-Content $path -Raw -Encoding UTF8 | ConvertFrom-Json $projects = $json.projects $unityMcp = $null if ($projects.PSObject.Properties.Name -contains $upper) { $unityMcp = $projects.$upper.mcpServers.UnityMCP } if ($null -eq $unityMcp -and ($projects.PSObject.Properties.Name -contains $lower)) { $unityMcp = $projects.$lower.mcpServers.UnityMCP } if ($null -eq $unityMcp) { Write-Warning "UnityMCP 설정을 찾지 못했습니다. 중단합니다." return } # 소문자 키가 없으면 대문자 항목을 그대로 옮겨 사용 if (-not ($projects.PSObject.Properties.Name -contains $lower)) { $projects | Add-Member -NotePropertyName $lower -NotePropertyValue $projects.$upper } # 소문자 키에 UnityMCP 보장 if ($null -eq $projects.$lower.mcpServers) { $projects.$lower | Add-Member -NotePropertyName "mcpServers" -NotePropertyValue ([pscustomobject]@{}) -Force } $projects.$lower.mcpServers | Add-Member -NotePropertyName "UnityMCP" -NotePropertyValue $unityMcp -Force # 대문자 중복 항목 제거 if ($projects.PSObject.Properties.Name -contains $upper) { $projects.PSObject.Properties.Remove($upper) } # UTF-8 (BOM 없음) 으로 저장 $out = $json | ConvertTo-Json -Depth 100 [System.IO.File]::WriteAllText($path, $out, (New-Object System.Text.UTF8Encoding($false))) Write-Host "완료. 대문자 키 제거 + 소문자 키에 UnityMCP 통일됨." Write-Host "이제 Claude Code 를 다시 실행하세요."