유니티 APK 빌드시 Text 파일 경로 문제Unity/Trouble Shooting2024. 1. 29. 15:39
Table of Contents
테스트 환경
Unity Editor 2022.3.15
이슈 내용
유니티 APK 빌드 후, 플레이가 정상적으로 실행이 안 되는 이유를 디버깅으로 찾다가 해당 부분에서 에러가 발생
private string _jsonPath = $"{Application.dataPath}/Resources/Texts/Stage/StageData.json";
_tableText = File.ReadAllText(_jsonPath); // <= 에러 발생
var stageDataTable = JsonUtility.FromJson<StageDataTable>($"{{\\"stageDataTable\\":{_tableText}}}");
재현 스탭
- APK 빌드 후, 안드로이드 시뮬레이터를 통해 실행
- 해당 코드 부분에서 파일을 읽어 올 수 없어서 다음 스크립트 진행이 불가
해결 방법
Application.dataPath는 에디터에서는 파일 경로를 잘 읽어오지만 플랫폼 빌드 상황일 때는 프로젝트가 압축된 상황이라 다른 경로로 써야 한다.
_tableText = Manager.Resource.GetFileText("StageData");
리소스 폴더는 에디터, APK 어떤 빌드 상황이든 Resources.Load()를 사용해 쉽게 로드할 수 있다.
리소스 매니저에서 따로 딕셔너리에 관리하여 String 이름값만 부여하여 바로 호출할 수 있도록 메서드를 만들어서 읽는 문제를 해결하였다.
그러나 데이터를 저장하는 부분은 추후에 새로 시스템을 구축해야 할 과제가 남았다.
'Unity > Trouble Shooting' 카테고리의 다른 글
유니티 UI 화면 비율 문제 (0) | 2024.01.31 |
---|---|
유니티 FirebaseDatabase 인스턴스 초기화 오류 (0) | 2024.01.13 |
유니티 AudioSource 최대 중첩 오류 (0) | 2024.01.08 |
유니티 UI Binding 오류 (0) | 2024.01.03 |