Skip to content

Editor/LocalizationAsset.cs がグローバル名前空間にあり UnityEngine.LocalizationAsset と衝突、他ツールがコンパイルエラーになる #54

Description

@UnisakiStudio

症状(サポート問い合わせより)

ゆにさきポーズシステム導入プロジェクトで、他のギミック(別ツール)のEditorスクリプトが「LocalizationAssetSetLocalizedString がない」等のコンパイルエラーになる。

原因(Ver3.0.6 静的調査)

  • Editor/LocalizationAsset.cs:5public class LocalizationAssetnamespace宣言なし(グローバル名前空間) で定義されている(同Editorフォルダの他ファイルは jp.unisakistudio.posingsystemeditor に包まれている)
  • Editor/jp.unisakistudio.posingsystemeditor.asmdef"autoReferenced": true のため、asmdefを持たない他ツールのEditorスクリプト(Assembly-CSharp-Editor)から自動参照される
  • C#の名前解決ではグローバル名前空間の型が using UnityEngine; より優先されるため、他ツールの非修飾 LocalizationAsset がすべて本ツールのクラスに解決されてしまう

修正案(数行)

  • クラスを jp.unisakistudio.posingsystemeditor namespace内へ移動(内部参照は同アセンブリ内のみのため影響小)、またはクラス名をリネーム
  • 予防としてasmdefの autoReferenced: false 化も検討の価値あり

Generated by Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions