コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】Unity 再生時に Tilemap をリフレッシュするエディタ拡張

ソースコード

using UnityEditor;
using UnityEngine;
using UnityEngine.Tilemaps;

[InitializeOnLoad]
internal static class Example
{
    static Example()
    {
        EditorApplication.playModeStateChanged += change =>
        {
            if ( change != PlayModeStateChange.ExitingEditMode ) return;

            var tilemaps = Object.FindObjectsOfType<Tilemap>();

            foreach ( var tilemap in tilemaps )
            {
                tilemap.RefreshAllTiles();
            }
        };
    }
}

Unity 2020.3.13f1、2D Tilemap Editor 1.0.0 で
Rule Tile を塗っても表示が更新されない現象に遭遇したので作成した