インスペクターでスクリプトの日本語が文字化けするのを直す【Unityメモ】

UnityのInspector画面でスクリプトを表示した時、日本語が文字化けしているのを修正するメモです。

日本語文字化け現象

例えば、下記の様なスクリプトを作成したとします。所々、日本語でコメントが書いてあります。

using UnityEngine;

public class PlayerMove : MonoBehaviour
{
    private Rigidbody2D _rb;
    private Vector2 movement;
    private float speed = 5.0f; // 速度

    private void Awake()
    {
        _rb = GetComponent<Rigidbody2D>();
    }
    private void Update()
    {
        // キー入力
        movement.x = Input.GetAxisRaw("Horizontal");
        movement.y = Input.GetAxisRaw("Vertical");
    }
    private void FixedUpdate()
    {
        // 移動
        _rb.MovePosition(_rb.position + movement.normalized * speed * Time.fixedDeltaTime);
    }
}

私はunityでスクリプトを作成する場合、VisualStudioで編集しています。(多くの人がそうだと思います)

VisualStudio上では下記のように特に問題なく表示されます。

Inspector上での文字化け

スクリプトを選択してスクリプトの中身をインスペクターに表示すると、日本語の部分が文字化けします。

Inspector画面でも日本語が表示されるように直していきます。

文字化け修正方法

文字化けは、スクリプトを保存する時のデフォルト文字コードがシフトJISなので起きているようです。

文字コードを変更するため、スクリプトを保存する時に「名前を付けて……を保存」を選択。

上書き保存の矢印から「エンコード付きで保存」を選択。

文字コードをUnicodeに変更して保存します。

下記の様にInspector画面でも日本語が表示されます。

デフォルトで文字コードを変更

文字コードを変更してファイルを保存すれば文字化けは解消されますが、スクリプトを追加する度に文字コードを変更しないといけないので、デフォルトで文字コードをセットするようにしてみます。

テキストエディタで下記内容のファイルを作成。

root = true
[*.cs]
charset = utf-8-bom

Unityプロジェクト内にあるVisualStudioソリューションファイルと同じ場所に「.editorconfig」として保存。

これで、このプロジェクト内でVisualStudioデフォルトの文字コードが変更されるので、新しくスクリプトを追加しても文字化けが起きなくなります。

「.editorconfig」には他にも設定できる項目があったり。

タイトルとURLをコピーしました