본문 바로가기
R&D

Unity, 유니티 버전 업그레이드 이후 전체 파일 및 에셋 갱신하기 (Refresh)

by Client. DJ 2022. 12. 22.
반응형

유니티 버전 업그레이드

ex) Unity2020 -> Unity2022

프로젝트를 업그레이드하는 경우, 유니티 버전 별로 각 메타(.meta)파일 또는 프리팹, 메테리얼 등 지원하는 포맷이 약간씩 다릅니다. 유니티 업데이트 이후, 해당 에셋(파일)에 접근하지 경우에만 최신 갱신을 해주는 형태입니다. 그래서인지 건들지도 않았던 에셋들이 변경되어있고, 이는 자세히 알 수도 없습니다. 이를 위해 깔끔하게 전체적으로 갱신을 해주는 작업이 필요해집니다.

스크립트

아래와 같이 ForceReserializeAssets()을 호출하면 프로젝트 내의 모든 에셋 갱신을 시도합니다.

using UnityEditor;
public class UtilsWindow : EditorWindow 
{
    /// <summary>
    /// 윈도우 열기
    /// </summary>
    [MenuItem("CustomMenu/Utils", priority = 1)]
    public static void ShowWindow() => GetWindow(typeof(UtilsWindow));
    
    private void OnGUI()
    {
        if (GUILayout.Button("전체 갱신"))
        {
            AssetDatabase.ForceReserializeAssets();
        }
    }
}

마무리

프로젝트 규모에 따라 갱신 과정이 오래걸릴 수 있으므로, 특별한 일이 없거나 퇴근 때 버튼 한 번 누르고 확인하시면 좋을 것 같네요. :)


참고: https://docs.unity3d.com/ScriptReference/AssetDatabase.ForceReserializeAssets.html

 

반응형

댓글