강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

KIM TAEKKWON님의 프로필 이미지
KIM TAEKKWON

작성한 질문수

두고두고 써먹는 유니티 비동기 프로그래밍

2-7. DOTween

Unity6에서 DoTweend 과 UniTask를 같이 사용시 나는 에러에 대한 해결 방법 입니다.

해결된 질문

작성

·

317

·

수정됨

0

질문은 아니고 Unity6에서 DoTweend 과 UniTask를 같이 사용시

'TweenerCore<float, float, FloatOptions>' does not contain a definition for 'ToUniTask' and the best extension method overload 'CancellationTokenExtensions.ToUniTask(CancellationToken)' requires a receiver of type 'CancellationToken'

같은 에러 메세지를 만나게 됩니다.

DOTween의 Tween 객체를 직접 await 할 수 없기 때문에 발생하는 문제라고 합니다.

이 문제를 해결하기 위해서는 DOTween의 Tween을 UniTask로 변환해주는 확장 메서드를 사용해야 합니다. ToUniTask() 확장 메서드를 사용하면 된다고 합니다.

예시로 다음과 같이 하면 됩니다.

 

우선 Edit > Project Settings 에서

Scripting Define Symbols에

다음과 같은 같은 문구를 추가 합니다.

"UNITASK_DOTWEEN_SUPPORT"

image.png

테스트 해본 바로는 위에 문구 추가까지만 해도 에러는 사라지는거 같습니다. 그래도 확실히 하기 위해 아래와 같이

UniTask 안에서 트윈 호출시 알래와 같이 작성 합니다.

//에러가 나는 트윈 호출 위치애서 DOTween 메서드 호출 뒤에 .ToUniTask()
await image.DOColor(Color.red, 0.5f).ToUniTask();

답변 1

0

오민석님의 프로필 이미지
오민석
지식공유자

안녕하세요 KIM TAEKKWON님.

좋은 글 감사합니다.

KIM TAEKKWON님의 프로필 이미지
KIM TAEKKWON

작성한 질문수

질문하기