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」には他にも設定できる項目があったり。