問題概要
Unity 6 LTS(6000.3.xf1)環境において、GitHub から clone したプロジェクトを開くと、Library/PackageCache 以下に展開される Unity 公式 Package の C# ソースコードが文字化けし、コンパイルエラー(CS1010 など)が発生する問題が起きています。
新規作成した Unity プロジェクトでは問題は発生せず、git clone 経由で取得したプロジェクトのみで再現します。
発生環境
- OS: Windows 11(日本語環境)
- ファイルシステム: NTFS
- Unity Hub: 最新版(問題発生時点)
- Unity Editor:
- 6000.3.2f1(問題発生)
- 6000.3.6f1(Editor 更新により一部改善するが、clone 環境では再発)
- Git: Git for Windows
- リポジトリ: GitHub(HTTPS clone)
- .gitignore: Unity公式テンプレート準拠(Libraryディレクトリ等を対象外)
- .gitattributes: Unity向け設定+Git LFS(テキストは LFS 対象外)
※6000.3.2f1 から 6000.3.6f1 にアップデートした理由として、本調査の途中で Package Manager で一部のパッケージが Invalid になる現象が現れ、以下ページを参考にアップデートを行っています。
(直接関係は無さそうでしたが、念のため実施しています)
◆6000.3.5f2 Release Notes (Fixes 一部抜粋)
Package Manager: Resolved a bug causing valid package signatures to be flagged as invalid if validated after the signing certificate expired. (UUM-133005)
◆参考にしたスレッド
Package manager invalid signatures issue
具体的な症状
Library/PackageCache 内の C# ファイルで文字化けが発生する
例のパス:
Library/PackageCache/com.unity.inputsystem@xxxx/ InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownGUI.cs
該当箇所の例:(41行目)
public static readonly GUIContent arrowLeftContent = new GUIContent("笳?
- ダブルクォーテーションが途中で途切れる
- 本来存在するはずの Unicode 記号(矢印等)が破壊されている
発生するコンパイルエラー:
error CS1010: Newline in constant error CS1026: ) expected error CS1002: ; expected
- 「該当箇所の例」の通り、ダブルクォーテーションが途切れている為にエラーが発生する
- 以下ファイルでも同様に問題が発生しており、ダブルクォーテーションを追記すれば無理やり解消は可能
- com.unity.visualscripting@191c0d7e3b69\Editor\VisualScripting.Core\Plugin\Changelogs\LegacyLudiqGraphs\Changelog_1_1_2.cs
- com.unity.shadergraph@3e48e962d639\Editor\Drawing\Blackboard\BlackboardUtils.cs
- com.unity.shadergraph@3e48e962d639\Editor\Drawing\Controls\EnumConversionControl.cs
試したこと
Git / Encoding 関連の調査
- .gitignore に Library が含まれていることを確認 → OK
- .gitattributes に .cs を LFS 対象にしていない → OK
- git config --global i18n.commitEncoding → 未設定(問題なし)
- CRLF / LF 設定を確認 → 問題なし
Unity 関連の調査
- 新規 3D プロジェクトの作成 → 本現象発生せず(AdvancedDropdownGUI.cs 等を確認しダブルクォーテーション抜け・文字化けが無い事を確認)
- LibraryディレクトリとPackages/packages-lock.json の削除と起動 → 本現象が発生
OS / 環境関連の調査
- Windows「Beta: UTF-8」設定 → ON(効果なし)
- NTFS / exFAT 確認 → NTFS(問題なし)
- Windows 時刻同期 → 実施済み
- VPN → 未使用
- Proxy 自動検出 → OFF(効果なし)
補足情報
Github 上では Library ディレクトリを保存しないようにしている為、プロジェクト一式をクローンした物を Unity が開く際に Package Manager が Library/PackageCache に各種 package を展開しますが、おそらくサーバーから取得した圧縮ファイルを展開するタイミングで文字化けをしてしまっているのではないかと考えています。
新規のプロジェクトを作成した場合は、問題が発生しないので、別経路で package が用意されている為に問題が発生しないと解釈しています。(この辺りの詳細な仕組みが不明なので推測になってしまいますが)
回答1件
あなたの回答
tips
プレビュー