Unity/Unity 이슈 40

Addressable 사용 시 Shader가 깨질 때(분홍색으로 나옴)

Problem Reason Addresssable의 Shader는 Android용으로 Pack되어서 Editor에서 안열리는 것 Solution Android에서는 잘 보이고, Editor에서 테스트 시에만 잘 안보이는 것. Reference http://cargocollective.com/mingruijiang/Shaders-from-asset-bundles-appear-pink-in-editor Shaders from asset bundles appear pink in editor - Mingrui Jiang, Programmer I came across this problem when testing asset bundles and organizing shaders. The problem is wei..

Unity/Unity 이슈 2022.02.14

Button에 AddListner에 함수를 넣어도 먹히지 않는 상황

Problem public void SetCancelClickListener(UnityAction listener) { cancelButton.onClick.AddListener(AAAA); cancelButton.onClick.AddListener(listener); } private void AAAA() { Debug.Log("#### AAAA()"); } // 다른 클래스에서 매개변수로 들어간 UnityAction(listener) private void SSSS() { Debug.Log("#### SSSS()"); } #### SSSS()는 찍히지만 #### AAAA()는 찍히지 않는다. 해당 AddListner라인만 쌩깜. Solution 해당 클래스는 Monobehabior이지만 new로 생성..

Unity/Unity 이슈 2022.02.13

UI(Canvas)코드가 먹히지 않는 경우

UnityEngine.UnityException: get_isActiveAndEnabled can only be called from the main thread. try~ catch문을 쓰지 않으면 오류로그도 안띄워주고 그냥 배째라 하고 코드 안먹힘. Cause Android 처럼 UI변경은 오직 Main Thread에서만 가능하다. (참고로 corutine은 동일 Thraed라서 신경 안써도 됨) auth.SignInWithCredentialAsync(credential).ContinueWith(task => { if (task.IsCanceled) { Debug.LogError("#### [Firebase] SignInWithCredentialAsync was canceled."); OnFireba..

Unity/Unity 이슈 2021.12.18

Coroutine과 TimeScle과의 관계

Problem Reward를 주는 단계에서 Coroutine의 yield return new WaitforSeconds(); 이 먹히지 않는 상황이 발생. Cause 저기는 Pause를 구현하기 위해 Time.timeScle = 0; 이 되어있는 상태. WaitforSeconds함수는 timeScle에 영향을 받는다. Solution 코루틴내에서 TimeScle에 영향을 받지 않는 yield return new WaitForSecondsRealtime(); 를 사용 https://malbongcode.tistory.com/36 Unity - Pause 버튼 구현하기(Time.scaleTime) 예시는 아래와 같음 구현하기 1. Time.timeScale 이용하기 Time.timeScale이란 아래와 같음..

Unity/Unity 이슈 2021.12.05

[IAP] IDE에서 IAP테스트를 하고 싶을 때

NullReferenceException: Object reference not set to an instance of an object UnityEngine.Purchasing.UIFakeStore.InstantiateDialog () (at Library/PackageCache/com.unity.purchasing@3.1.0/Runtime/Stores/FakeStore/UIFakeStore.cs:175) 코드에는 Prefab을 Instantiate하도록 넣어놨으면서 prefab은 구성요소로 안넣어놨음. Solution1 https://forum.unity.com/threads/iap-not-working-debug-window-not-showing-up-due-to-nullreferenceexcept..

Unity/Unity 이슈 2021.11.17

Firestore Callback에서 SetActive 안됨

Problem Firestore의 콜백에서 GameObject의 SetActive()를 하면 먹통이 된다. 여기서 호출한 함수들도 마찬가지. DocumentReference docRef = db.Collection("cities").Document("LA"); docRef.GetSnapshotAsync().ContinueWith((task) => { var snapshot = task.Result; panel.SetActive(true); }); Solution DocumentReference docRef = db.Collection("cities").Document("LA"); docRef.GetSnapshotAsync().ContinueWithOnMainThread((task) => { var sna..

Unity/Unity 이슈 2021.07.11

com.android.tools.build.bundletool.model.exceptions.InstallationException: Installation of the app failed.

기존 프로젝트에 RTS Engine 을 import하고 Build했을 때 나타나는 현상. RTS Engine이 Build Setting 쪽도 변경해서 발생하는 에러. (자기들 로고를 넣는 등..) (Publish Key도 초기화 되어버리니 살펴볼 것) 버전을 마음대로 바꿔버리면서 충돌이 일어나서 생기는 에러이다. Error Installation failed with the following output: Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 The APKs have been extracted in the directory: C:\Users\lipnus\AppData\Local\Temp\5911379885019797321 [BT:0.10.3] Erro..

Unity/Unity 이슈 2021.06.11

[RTS Engine] There's more than one faction labeled as player controlled.

[Game Manager]: There's more than one faction labeled as player controlled. UnityEngine.Debug:LogError (object) RTSEngine.GameManager:SetPlayerFaction () (at Assets/RTS Engine/Game Managers/Scripts/GameManager.cs:362) RTSEngine.GameManager:Awake () (at Assets/RTS Engine/Game Managers/Scripts/GameManager.cs:176) Solution GameManager에서 Player Controlled가 한 Element에만 적용되어 있어야 한다.

Unity/Unity 이슈 2021.05.31

[IAP관련] Library\PackageCache\com.unity.purchasing@3.0.1\Runtime\AppleCore\INativeAppleStore.cs(5,42): error CS0122:

Error Library\PackageCache\com.unity.purchasing@3.0.2\Runtime\AppleCore\INativeAppleStore.cs(5,42): error CS0122: 'UnityPurchasingCallback' is inaccessible due to its protection level 코드끼리 꼬여서 난 에러. https://forum.unity.com/threads/unity-2019-4-23-unitypurchasingcallback-is-inaccessible-due-to-its-protection-level.1082075/ Unity 2019.4.23 'UnityPurchasingCallback' is inaccessible due to its prote..

Unity/Unity 이슈 2021.05.19

[IAP 관련] error CS1704: An assembly with the same simple name 'Purchasing.Common' has already been imported.

Error Microsoft (R) Visual C# Compiler version 2.9.1.65535 (9d34608e) Copyright (C) Microsoft Corporation. All rights reserved. error CS1704: An assembly with the same simple name 'Purchasing.Common' has already been imported. Try removing one of the references (e.g. 'D:\dev\CFD2\CFD\Library\ScriptAssemblies\Purchasing.Common.dll') or sign them to enable side-by-side. Soltuion

Unity/Unity 이슈 2021.05.19

AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.games.Games

Error 아래 두가지 모두 해야하며 순서는 상관없음 ① Google Play Console에서 출시 출시를 안하면 안됨. 출시를 해야 연동이 된다. ② Proguard 설정 아래와 같이 입력 -keep class com.google.android.gms.games.leaderboard.** { *; } -keep class com.google.android.gms.games.snapshot.** { *; } -keep class com.google.android.gms.games.achievement.** { *; } -keep class com.google.android.gms.games.event.** { *; } -keep class com.google.android.gms.games.stats...

Unity/Unity 이슈 2021.05.14