[Unity] 유니티 에디터 OpenGL/Vulkan 그래픽스API로 열기
Unity/Tips 2023. 8. 2. 18:49[Unity] 유니티 에디터 OpenGL/Vulkan 그래픽스API로 열기

빌드의 그래픽 API를 변경하는건 쉽지만 유니티 에디터는 윈도우 기준으로 다이렉트X11으로 실행된다. 이러면 간혹 모바일로 빌드했을 때 모바일에서만 이상하게 보이는 쉐이더들이 포착되기도 하는데, 빌드에서만 관찰할 수 있다는건 정말 골치가 아프다. 빌드와 에디터에서 똑같은 그래픽을 보기위해 에디터의 그래픽스 API를 바꿀려면 다음과 같다. 📌허브에서 "커맨드 라인 인자 추가" 허브에서 프로젝트 옆에 점3개를 누르면 "커맨드 라인 인자 추가"가 있다. [Vulkan] -force-vulkan [OpenGL] -force-glcore [OpenGL ES] -force-gles 위 인자를 추가해주면 해당하는 그래픽스 API로 열린다. 확인하는 방법은 유니티 창을 봤을 때 이렇게 끝에 처럼 적용된 그래픽스API가..

[애플 앱스토어]  인앱 쿠폰 입력 시스템 심사 거절
출시 플랫폼/앱스토어 2023. 8. 2. 10:07[애플 앱스토어] 인앱 쿠폰 입력 시스템 심사 거절

그렇다. 항상 문제는 앱스토어고 iOS다 이번에 게임의 업데이트 심사를 넣었는데 거절당했다. 사유는 인앱의 쿠폰 입력 기능이 있는데 애플의 가이드라인에 따르면 인앱 에서 쿠폰 코드로 재화를 받거나 뭔가를 잠금해제 할거면 그 쿠폰을 인앱결제로 파는것이 아니라면 허용하지 않는다고 한다. 즉, 아예 앱내에서 싹 다 처리하던가, 아니면 앱 외에서 싹 다 처리하던가 물론 우리 경우엔 파는 쿠폰이 아닌 홍보용 쿠폰이기 때문에 인앱결제로 넣을생각은 없다. 따라서 앱 외에서 싹 다 처리할 생각이다. 그래서 포켓몬고도 보면 안드로이드는 앱내에서 쿠폰을 입력하지만, iOS는 웹에서 입력하게돼있다. 애플은 도대체... 앱 스토어 가이드라인 링크 위 항목은 3.1.1 인앱 구매 항목 App Store Review Guidel..

[Unity] Adressable에셋 코드로 링크(인스펙터 등록)하기
Unity/Tips 2023. 6. 24. 22:07[Unity] Adressable에셋 코드로 링크(인스펙터 등록)하기

개요 Adressable을 프로젝트에 도입할 때 관리할 Adressable 에셋들을 인스펙터 리스트에 담아두거나 하고싶은데 Adressable은 여러 에셋을 한번에 드래그해서 리스트에 담을 수 없다. 그래서 코드로 List 타입에서 List타입으로 복사하는 방법을 기록한다. 본문 코드는 다음과 같다. [SerializeField] private List adressableSprites; [SerializeField] private List tempSprites; #if UNITY_EDITOR [Button] public void SpritesToAdressableList() { adressableSprites = new List(); foreach (var spr in tempSprites) { stri..

[Unity] Admob사용 시 Screen.Orientation을 건드리면 생기는 문제
Unity/TroubleShooting 2023. 5. 31. 14:31[Unity] Admob사용 시 Screen.Orientation을 건드리면 생기는 문제

개요 유니티 프로젝트에 광고를 넣기 위해 구글 애드몹SDK를 넣어서 구현했다. 우리 프로젝트는 기본적으로 가로화면 이지만 미니게임에 따라서 Screen.Orientation 을 건드려서 화면을 강제 회전을 시켰다. 그런데, 화면 회전 이후에 광고를 호출하면 광고가 호출되지 않는 버그가 있었다. (특히 iOS에서) 우여곡절끝에 발견한 해결법을 기록한다. 본문 먼저 해본 방법들은 이렇다. 광고 SDK 초기화를 화면을 돌린 이후에 다시 호출 (MobileAds.Initialize();) => 효과는 없었다. 광고를 호출하기 전에 화면을 가로로 다시 회전시키고 (앱이 시작할 때 가로였으니까) 광고가 끝나면 광고 호출 전 Screen.Orientation을 다시 복구 =>처음엔 되나 싶었지만 완벽하지 못했다. 그..

[Firebase] FirebaseAuth 소셜로그인 콜백 주의점
Unity/TroubleShooting 2023. 5. 26. 12:55[Firebase] FirebaseAuth 소셜로그인 콜백 주의점

Firebase를 이용하여 구글이나 애플로그인 등등을 할 때 auth.SignInWithCredentialAsync(credential).ContinueWith(task => { ... }); 이런 콜백을 거치게 되는데 잘보면 콜백 타입이 Task이다 즉, 콜백이 메인스레드에서 돌아가지 않을 수 있다는 것. 😮 서브 스레드에서 돌아가면 어떤 문제가 일어나나요? - 유니티는 서브 스레드에서 유니티의 API를 호출할 수 없다. 에러와 함께 스레드가 종료돼버리고 try, catch문으로 에러를 출력하지 않는다면 콘솔에 에러도 출력되지 않는다. 그래서 이 경우엔 2가지 방법이 있다. 1. bool변수로 플래그를 세워서 Update()문에서 플래그 체크 후 이후 작업 진행 2. 큐에 액션을 담아놓고 외부 클래스에..

[애플 앱스토어] 첫 심사 앱 + 인앱결제 아이템 심사 성공기
출시 플랫폼/앱스토어 2023. 4. 29. 16:26[애플 앱스토어] 첫 심사 앱 + 인앱결제 아이템 심사 성공기

개요회사에서 3개월 바짝 개발한 게임을 플레이 스토어에 먼저 올리고,앱스토어 심사도 등록해봤다. 소모성 인앱결제 아이템이 있어서 인앱결제 아이템을 등록하고 테스트 플라이트에서 결제 테스트를 마치고,심사 등록을했는데 거절당했다. 심사 통과까지의 기록을 적는다. 본문우선 첫 거절사유는 이랬다.1. 소셜 로그인을 넣었으면 (iOS에는 파이어베이스로 구글 이메일 로그인만 넣은 상태였다) 애플 로그인도 넣어야한다.2. 계정삭제 기능을 넣어야 한다. (사실 있는데 심사관이 못찾았다)3. 유저가 로그인 없이 게임을 즐길 수 있는 방안도 마련해라 => 즉, 게스트 로그인을 만들어라4. 퍼포먼스 이슈 - 인앱결제 아이템이 불러와지지 않아서 로딩이 끝나지 않는다. => 이부분이 이 글의 핵심이다. 1,2,3번 사유의 해결..

image