Unity에서 UI나 텍스트를 만들었는데
한글이 □□□ 로 나오거나 아예 깨지는 문제, 한 번쯤 겪어보셨을 겁니다.
이 글에서는 Unity에서 한글 폰트를 제대로 적용하는 방법을
TextMeshPro 기준으로 단계별 정리합니다.

1. 한글 폰트 준비하기
먼저 한글을 지원하는 폰트 파일이 필요합니다.
추천 폰트
- Noto Sans KR
- Noto Serif KR
- 나눔고딕 / 나눔스퀘어
- Pretendard
👉 .ttf 또는 .otf 파일을 준비합니다.
2. 폰트 파일을 Unity에 추가
- 프로젝트 창에서
-
Assets > Fonts (폴더 생성 권장)
- 준비한 .ttf / .otf 파일을 드래그해서 추가
이 단계까지만 하면 아직 한글 안 나옵니다.
3. TextMeshPro Font Asset 생성 (핵심)
TextMeshPro는 폰트를 그대로 쓰지 않고 Font Asset으로 변환해야 합니다.

생성 방법
- 상단메뉴바에서
- Window > TextMeshPro > Font Asset Creator
- Font Asset Creator 설정 값 정리

🔹 Source Font File
다운받은 한글 폰트 파일 선택
예: NotoSansKR, 나눔고딕, Pretendard 등
🔹 Sampling Point Size
Auto Sizing 사용 또는
필요 시 직접 사이즈 지정
보통 자동 설정 권장
🔹 Padding
글자 간 여백
값이 너무 작으면 글자가 붙어 보일 수 있음
일반적으로 기본값 또는 약간 여유 있게 설정
🔹 Packing Method
Fast 로 설정
🔹 Atlas Resolution
4096 x 4096 권장
한글은 글자 수가 많기 때문에 넉넉하게 설정
🔹 Character Set (중요)
Custom Range 로 설정
※이 부분 설정이 잘못되면 한글이 일부만 나오거나 이상하게 추가됩니다.
🔹 Character Sequence 입력값
아래 값을 그대로 입력합니다.
32-126, 44032-55203, 12593-12643, 8200-9900
포함 문자 설명
-
- 32–126 : 기본 영문 / 숫자 / 특수문자
- 44032–55203 : 한글 완성형
- 12593–12643 : 한글 자모
- 8200–9900 : 특수문자 일부
3. Font Asset 생성
-
- Generate Font Atlas 클릭
- 생성 완료 후 Save 버튼 클릭
- .asset 형태의 TextMeshPro Font Asset 생성됨

4. TextMeshPro에 폰트 적용
-
- TextMeshProUGUI 또는 TextMeshPro 컴포넌트
- Font Asset에 방금 생성한 .asset 지정
👉 한글 정상 출력 확인


5. 한글이 안 나올 때 체크 포인트
-
- Font Asset Creator에서 Character Set 설정 확인
- Atlas Resolution이 너무 작지 않은지 확인
- 원본 폰트가 한글 지원 폰트인지 확인
- Font Asset이 아닌 원본 폰트를 쓰고 있지 않은지 확인
4. Font Asset 설정 (한글 안 나오는 핵심 원인)
생성된 Font Asset을 선택한 뒤 Inspector에서 설정합니다.
반드시 확인할 옵션
- Atlas Population Mode
- ❌ Static (한글 누락 원인)
- ✅ Dynamic (권장)
Dynamic으로 설정하면
사용되는 한글만 자동으로 아틀라스에 추가됩니다.
5. TextMeshPro 텍스트에 폰트 적용
UI Text (TMP)
- TextMeshProUGUI 선택
- Font Asset에 방금 만든 Font Asset 지정
3D Text
- TextMeshPro 컴포넌트
- 동일하게 Font Asset 지정
👉 이제 한글이 정상 출력됩니다.
6. 그래도 한글이 안 나올 때 체크리스트
① Font Asset이 아닌 원본 폰트 사용 중
→ 반드시 TMP Font Asset을 사용해야 함
② Static 모드 + 한글 미포함
→ Dynamic으로 변경하거나
→ Custom Characters에 한글 직접 추가
③ 폰트 자체가 한글 미지원
→ 영문 전용 폰트인지 확인
7. 모든 TMP에 기본 폰트로 적용하기 (추천)
매번 설정하기 귀찮다면 기본 폰트로 지정합니다.
경로
- Default Font Asset에 한글 Font Asset 지정
👉 새로 만드는 모든 TMP 텍스트에 자동 적용
Unity에서 한글 폰트 문제는 대부분
✔ TextMeshPro Font Asset 설정 문제입니다.
정리하면,
- 한글 지원 폰트 사용
- TMP Font Asset 생성
- Atlas Population Mode = Dynamic
이 3가지만 지켜도
👉 한글 깨짐 문제는 거의 해결됩니다.