SMALL
빌드 시 아래와 같은 오류가 발생하면서 빌드 실패가 됨.
NullReferenceException: Object reference not set to an instance of an object
TMPro.MaterialReference..ctor (System.Int32 index, TMPro.TMP_FontAsset fontAsset, TMPro.TMP_SpriteAsset spriteAsset, UnityEngine.Material material, System.Single padding) (at ./Library/PackageCache/com.unity.ugui@ad30dfd93d36/Runtime/TMP/MaterialReferenceManager.cs:525)
TMPro.TextMeshProUGUI.SetArraySizes (TMPro.TMP_Text+TextProcessingElement[] textProcessingArray) (at ./Library/PackageCache/com.unity.ugui@ad30dfd93d36/Runtime/TMP/TextMeshProUGUI.cs:1755)
.
.
.
이 스택이면 거의 100% TMP(TextMeshPro) 쪽 폰트/머티리얼/스프라이트 에셋 참조가 빈(null) 상태라서, 레이아웃 계산 중(LayoutRebuilder)에 MaterialReference 생성할 때 NRE(NullReferenceException)가 남.
아래 순서대로 빠르게 점검/수정
- Window ▸ TextMeshPro ▸ Import TMP Essential Resources 실행
- Assets/TextMesh Pro/Resources/에 TMP Settings.asset, 기본 폰트/머티리얼이 생성되어야 함.
- Project Settings ▸ TextMeshPro
- Default Font Asset가 비어 있으면 지정.
- Default Sprite Asset도 가능하면 지정.
- Assets/TextMesh Pro/Resources/ 폴더가 없다면 만들어지고, 여기 안(또는 Resources)에 위 에셋들이 있어야 함. (Addressables 쓰면 번들에 반드시 포함되도록 확인)
위와 같은 절차를 실행하여 빌드에 성공.
반응형
'게임 개발 공부 > Fix Error' 카테고리의 다른 글
[Unity/Android] 구글 오류 Error Unity AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.games.Games (0) | 2023.02.25 |
---|---|
int형 나누기 문제 (0) | 2022.07.19 |
Input Error (0) | 2022.02.19 |