유니티 Addressable을 Remote가 아닌 Local에서 사용하려고 했습니다.
안드로이드 스튜디오를 사용해 토스 샌드박스 앱에서 게임 실행을 시도했습니다.
unity-webgl-wrapper\public\unity\StreamingAssets\aa 안에 폴더와 파일이 정상적으로 내용이 들어있으며 (AddressablesLink, WebGL, catalog.bin, catalog.json, settings.json)
src/UnityCanvas.tsx에도 streamingAssetsUrl: ‘/unity/StreamingAssets’로 경로가 잘 적혀있습니다.
하지만 인게임에서 어드레서블 초기화가 실패하고 폴더를 읽지 못하는 것 같습니다.
void InitAddressables()
{
status.text = "Addressables 초기화 중...";
var init = Addressables.InitializeAsync();
init.Completed += (op) =>
{
if (op.Status == AsyncOperationStatus.Succeeded)
{
status.text = "초기화 성공!";
Debug.Log($"RuntimePath: {Addressables.RuntimePath}");
}
else
{
string errorMsg = op.OperationException?.Message ?? "알 수 없는 오류";
string innerError = op.OperationException?.InnerException?.Message ?? "없음";
status.text = $"초기화 실패!\n" +
$"Status: {op.Status}\n" +
$"Error: {errorMsg}\n" +
$"InnerError: {innerError}\n" +
$"StreamingAssets: {Application.streamingAssetsPath}";
}
loadingFinished = true;
};
}
위와 같은 코드를 실행했을 때의 오류 메시지 내용입니다.
가이드에도 로컬 어드레서블을 다루는 내용은 없는 것 같은데, StreamingAssets 폴더에 접근해서 받아오는 것이 안 되고 서버와 연결해 Remote로 다운로드 받아서 써야 하는지 궁금합니다.
