에러메시지 뜰때 해결법

 

1. 유니티를 끈다

2. 프로젝트 폴더/Temp/  안에있는 PropertyDatabase_ 로 시작하는 파일을 지운다

3. 유니티 재실행 하면 메시지가 사라져있다.

 

 

https://forum.unity.com/threads/the-property-database-library-search-propertydatabase-db-is-already-opened.1285634/

해상도에 대응하는 코드는 여러 블로그에 있는데, 적용하던 중 레터박스 쪽에 파란색으로 깜빡거리는 현상이 발생했다.(테스트 기종: 갤럭시s10)

첫 실행시에는 문제없어도 백그라운드로 내리고 다시 키면 깜빡임 현상이 재현되는 경우도 있었다.

 

검색 중에 아래 블로그를 발견

https://blog.naver.com/kj426/222131335427

 

읽어보면 URP에만 나타나는 문제같다.

 

적용 방법

1. 카메라에 스크립트 하나 생성 후, 위 블로그 코드를 붙여넣는다.
2. Start() 함수 안에 onSetting() 을 넣어준다(작성자가 깜빡한듯? ) 

<이하는 내 Canvas 세팅>

3. Canvas 오브젝트에 Canvas Scaler를 붙여주고, mode를 Scale with screen size,
레퍼런스 resolution을 내가 개발할때 켜두는 기준 화면해상도로 변경. Match는 가로게임인 경우 Height로 설정
4. Canvas Render mode를 Screen Space - Camera로 설정해줌

 

빌드 후 실행해보면 해상도 대응되면서 flickering 문제도 해결되었음을 알수있다.

 

 

 

구글 플레이 콘솔에서 올릴때 유니티 프로젝트 세팅에서 Version 숫자 바꿨음에도 계속 이 메시지가 뜨면서 앱번들 안올라갈 때가 있다. 아주 빡치는데 해결책은 아래와 같다

 

Project Settings - Player 탭 - 안드로이드 아이콘 - Other settings 에서 쭉쭊 내리다보면 Identification - Version과 Bundle version Code가 있는데 둘다 바꿔보자.

 

    public static GameManager I { get; private set; }
    private void Awake()
    {
        if (I == null)
        {
            I = this;
            DontDestroyOnLoad(this.gameObject);
        }
        else
        	Destroy(this.gameObject);
        
    }

 

싱글톤 코드가 길면 복잡해서 최대한 짧게 씀. 

이동(doMove)나 회전(doRotate) 등 모든 Do 시리즈 tween에 적용가능함

 

보통 오브젝트를 이동시키고 Tween 의 onComplete() 를 람다함수로 해서 다음 단계를 진행하곤 했는데,

tween.WaitForCompletion() 의 존재를 알고나니 코루틴과 결합하여 거의 모든 움직임을 손쉽게 구현할수 있게 되었다.

 

적을 이동시킨 후 공격을 하게한다고 하면,

IEnumerator MoveAndAttack(){
	var tween = enemy.transform.DOMove(pos, 0.3f);
    yield return tween.WaitForCompletion();
    enemy.Attack();
}

public void ButtonClicked(){
	StartCoroutine(MoveAndAttack());
}

이렇게 원하는 포지션(pos)로 이동 tween 완료시까지 대기(WaitForCompletion) 후, 원하는 작업을 처리하도록 하면

코드가 아주 깔끔해지고 람다함수를 쓰면서 겪는 호출순서나 scope 문제 등 복잡한 문제를 겪을 필요도 없다.

아주 아주 삶의 질을 높이는 두트윈 활용법! WaitForCompletion() 를 애용하도록 하자.

+ Recent posts