예전 유니티 사전 캠프때는 텍스트를 사용할 때 legacy를 썻었던 것 같은데 곧 사라지고 텍스트 tmp를 사용하게 될 것이라고 이것을 사용하라고 한다. 레거시보다 더 많은 기능이 있어서 되게 편하게 사용할 수 있었다. 하지만 tmp를 그냥 사용하기에는 한가지 불편함이 있었으니...
1. TMP 한글 사용법
나는 3D 유니티 강의를 듣고 있는데 거기서 에임을 땅에 떨어져있는 아이템에 갔다댈 경우 아이템의 이름과 설명이 뜨는 기능을 배우고 있었다. 그전에 이름과 설명은 한글로 해야했다. 그래서 강의에서 제공해주는 폰트를 사용하게 되는데 tml는 놀랍게도 폰트를 그냥 사용하면 안되고 
이런식으로 SDF로 변경하는 작업을 한번 하고 사용해야한다.
하는 방법으로는

왼쪽상단에 Window버튼을 누르고 사진 처럼 TextMeshPro에서 Font Asset Creator버튼을 누르면

이런 창이 나온다.
아래에 순서대로 잘 했다면 성공적으로 SDF파일이 만들어질 것이다.
2. 문제의 발단
위에 처럼 순서대로 잘 진행했다면 문제가 없을 것이다. 하지만 나에게 문제가 발생한 것이다. 저렇게 진행을 하고 원하는 텍스트에 폰트를 집어넣어보니 한글이 몇개는 깨져서 나오는 것이다. 그거에 더해서 에임을 아이템에 갔다가 댔을 때 유니티에 object reference not set to an instance of an object 이런 오류가 발생했던 것이다. 텍스트는 안나오고. 그래서 문제가 무엇인지 몰라서 코드도 일일히 다 봤지만 코드에는 문제가 없었다. 그래서 고민해본 결과 문제는 폰트가 깨지는 것이라고 결정 짓고 처음부터 다시 폰트를 SDF화 해보았다. 그런데 역시 저 위에 순서대로 진행했다면 한글이 깨지지 않고 잘 나오고 에임에 아이템을 갔다댔을때 텍스트가 나올 것이었는데 나는 한가지 잘못했던 것이다. Auto Sizing이 아니라 Custom Sizing을 선택해서 한글이 깨지는 것이었다. 놀랍게도 Auto Sizing으로 다시 만들어보니 한글이 깨지지 않고 잘 나오게 되었고 깨지는 오류가 해결됨과 동시에 에임 갔다댔을경우 안뜨던 오류도 한번에 고쳐졌다.
3. 회고
사실 한글이 깨지는 문제로 저번 팀프로젝트에서도 문제를 겪은 적이 있었다. 그때 스코어를 현재 점수, 최고 점수로 텍스트를 설정하려고 했는데 SDF 형식으로 바꾸어도 한글이 깨져서 나오는 것이었다. 그래서 그 때는 몇번을 해봐도 안돼서 그냥 Current Score, High Score로 어쩔 수 없이 영어로 해서 만들었는데 이번에 다시 찾아보고 다른 팀원분들께도 물어보니 단시 Auto Sizing, Custom Sizing 선택 차이에서 그렇게 된 것이라니 상당히 당황스러웠었다. 그래도 이번에 확실히 알아갔으니 다음번엔 이런일 없을 것 같다.