Unity에서 한글 TMP 폰트 제대로 만드는 방법 총정리
게임이나 앱을 만들다 보면 텍스트가 깔끔하게 나오는 게 얼마나 중요한지 바로 알게 된다. 특히 한국어를 쓰는 프로젝트라면 글꼴 문제로 고생하는 경우가 많다. Unity에서 기본적으로 제공하는 TextMesh Pro(TMP)는 성능도 좋고 기능도 다양하지만, 폰트 세팅을 제대로 하지 않으면 글자가 깨지거나 네모 박스로만 보이는 황당한 상황을 겪게 된다. 나도 처음엔 여기서 막혀서 한참 헤맸는데, 이번에 정리한 과정을 보면 처음 하는 사람도 어렵지 않게 따라갈 수 있을 거다.

소왜 TMP에서 폰트 설정이 중요한가
TMP는 일반 텍스트보다 훨씬 선명하고 성능 최적화가 잘 되어 있어서 요즘 Unity 프로젝트에서 거의 필수처럼 쓰인다. 그런데 문제는 한글이다. 영어 알파벳 몇십 개만 있으면 되는 것과 달리, 한글은 수천 자가 필요하다. 이걸 커버하려면 Atlas(폰트 아틀라스) 크기를 크게 잡아야 하고, 한글이 포함된 폰트를 써야 한다. 그렇지 않으면 글자가 제대로 안 나오고, 특히 “□” 같은 빈 사각형만 뜨게 된다. 그래서 폰트를 만드는 과정이 단순히 ‘폰트 파일 하나 끌어다 쓰기’가 아니라 꽤 체계적인 절차가 필요하다.
준비물 – 폰트 파일 선택하기
먼저 필요한 건 한글이 포함된 폰트 파일이다. 확장자는 .ttf나 .otf여야 하고, 무료로 쓸 수 있는 폰트를 추천한다. 나눔고딕, Noto Sans KR 같은 게 무난하다. 혹시 영문 전용 폰트를 넣으면 아무리 열심히 세팅해도 한글은 나오지 않는다. 가장 기본이면서도 놓치기 쉬운 부분이다.
Font Asset Creator 열기
Unity 메뉴에서 Window → TextMesh Pro → Font Asset Creator를 누르면 TMP 전용 폰트 생성 창이 뜬다. 여기서 소스 폰트를 지정하고, 어떤 글자를 Atlas에 넣을지, 해상도를 얼마로 할지 정할 수 있다. 보통 처음 쓰는 사람들은 이 창이 낯설고 복잡해 보여서 그냥 대충 눌렀다가 저장이 안 되거나 글자가 깨지는 경우가 많다.
Atlas 크기와 문자 범위 설정
Atlas Resolution은 한국어 프로젝트에서 가장 중요한 부분이다. 영어만 쓸 거면 2048×2048도 충분하지만, 한글 전체를 커버하려면 크기를 크게 잡아야 한다. 커뮤니티에서도 많이 권장하는 게 8192×8192다. 이 정도면 대부분의 한글을 다 넣을 수 있다. 물론 크기가 커질수록 메모리도 많이 먹고 용량도 늘어나지만, 제대로 보이지 않는 것보다는 낫다.
Character Set은 Unicode Range를 선택하고 0020–007E, AC00–D7A3을 입력하면 된다. 앞부분은 영어, 뒷부분은 한글 완성형 범위다. 이렇게 해야 영문과 한글이 모두 커버된다.
Render Mode는 일반적으로 SDFAA나 RASTER\_HINTED를 많이 쓴다. 여기서는 큰 차이가 없으니 기본 권장값을 쓰면 된다.
아틀라스 생성 후 꼭 Save 하기
많은 사람들이 헷갈리는 게 바로 여기다. Generate Font Atlas 버튼을 누르면 화면에 글자들이 쭉 생성되고 “Generation completed”라는 메시지가 뜬다. 여기까지만 보면 다 된 것 같아서 그냥 창을 닫아버리기 쉬운데, 사실 이건 단순히 미리보기일 뿐이다. 진짜 Font Asset 파일(.asset)을 만들려면 반드시 밑에 있는 Save 버튼을 눌러야 한다.
Ctrl+S를 누르면 프로젝트나 씬은 저장되지만, TMP 폰트 자체는 저장되지 않는다. 이걸 몰라서 “왜 파란색 F 아이콘(Font Asset 파일)이 안 생기지?” 하고 헤매는 경우가 많다. 결론은 무조건 Save 버튼을 눌러야 한다는 것.
TMP에 적용하기
이제 Project 창에 파란색 F 아이콘이 생겼을 거다. 이게 바로 Font Asset 파일이다. 텍스트에 적용하려면 TextMesh Pro 오브젝트를 선택하고, Inspector 창에서 Font Asset 슬롯에 이 파일을 드래그해 넣으면 된다. 이제 한글이 정상적으로 보일 것이다.
자주 생기는 문제와 해결법
1. 아틀라스는 생성했는데 저장이 안 됨
→ Save 버튼을 안 눌러서 그런 거다. 꼭 Save 눌러라.
2. 한글이 네모로만 보임
→ 한글이 없는 영문 전용 폰트를 쓴 거다. 한글 포함된 폰트로 다시 시도해야 한다.
3. 일부 글자만 나오고 다른 글자는 빠짐
→ Character Set 범위를 제대로 지정하지 않은 경우다. AC00–D7A3을 넣었는지 확인해라.
마무리
정리해보면, 한글 TMP 폰트를 만드는 과정은 생각보다 복잡하지 않지만 중요한 포인트들이 있다. 폰트 파일은 반드시 한글 포함된 걸로 준비하고, Atlas Resolution은 8192×8192 정도로 크게 잡는 게 안전하다. 그리고 가장 중요한 건 아틀라스 생성 후 Save 버튼을 눌러야 한다는 점이다. 이걸 안 하면 아무리 잘 만들어도 프로젝트에 적용이 안 된다.
나도 처음에는 왜 저장이 안 되나, 왜 자꾸 글자가 깨지나 고민을 많이 했는데, 이런 절차를 알고 나니까 문제없이 세팅할 수 있었다. 앞으로 TMP 폰트 때문에 고생하는 사람들이 이 글을 보고 좀 더 쉽게 해결할 수 있으면 좋겠다.
'자연과학, IT, 공학 > IT, 프로그래밍' 카테고리의 다른 글
| 유니티 파티클이 작아질수록 깜빡거리는 문제와 해결 방법 (5) | 2025.08.17 |
|---|---|
| UI 캔버스 크기, 왜 이렇게 큰 걸까? (6) | 2025.08.17 |
| 유니티 완전 초보가 헷갈리는 부분 정리해봄 (6) | 2025.08.17 |
| 피그마 디자인 토큰, 개발에서 제대로 쓰는 방법 (6) | 2025.08.17 |
| 유니티 타임라인 애니메이션 다리 꼬임 해결법, Rig 타입이 핵심이었다 (6) | 2025.08.17 |