유니티 unity(24)
-
unity6 빌드에러 "property#android.adservices.AD_SERVICES_CONFIG@resource=@xml/gma_ad_services_config` in com.google.android.gms:play-services-measurement-api:22.1.2 collides with another value"
최근 Unity 6로 업그레이드한 뒤, Android 빌드에서 오류가 발생하는 경우가 많습니다. 특히 구글 애드몹(AdMob)이나 파이어베이스(Firebase) 같은 광고·분석 플러그인을 사용하는 프로젝트라면 ‘릴리스 빌드가 안 된다’, ‘충돌 메시지가 뜬다’ 등의 문제를 겪으실 수 있는데요. 이 오류는 **AGP 8.3.0(Android Gradle Plugin)**과 일부 구글 라이브러리 사이에서 발생하는 충돌이 원인으로 지목되고 있습니다.AGP(Android Gradle Plugin)란?AGP(Android Gradle Plugin): 안드로이드 앱을 빌드·패키징·배포하기 위해 구글에서 제공하는 Gradle 플러그인입니다.Unity에서 안드로이드 APK 또는 AAB를 빌드할 때도 내부적으로 이 An..
2024.12.24 -
Unity에서 JSON 데이터 저장 및 검증: HMACSHA256을 이용한 보안
게임 개발에서 데이터 저장과 보안은 매우 중요한 문제입니다. 특히 플레이어의 진행 상황이나 설정을 저장할 때, 데이터의 무결성을 보장하는 것이 중요합니다. 이번 포스트에서는 Unity에서 Newtonsoft.Json 라이브러리를 사용하여 데이터를 JSON 형식으로 직렬화하고, HMACSHA256 해시 알고리즘을 사용하여 데이터를 서명하고 검증하는 방법을 다루겠습니다. 이를 통해 데이터가 변조되지 않았는지 확인할 수 있습니다. 먼저, Unity 프로젝트에 Newtonsoft.Json 라이브러리를 추가해야 합니다. https://gofogo.tistory.com/64[package manager]로 이동 후 [add pakaage by name...] 선택 com.unity.nuget.newtonsoft-j..
2024.06.12 -
unity // 구글플레이 인앱업데이트 안드로이드14 타켓 오류
One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcastsjava.lang.SecurityException: com.wolstar.fruitfusionmerge: One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcastsandroid.os.Parcel.createExceptionOrNull(Parcel.java:306..
2024.06.09 -
[유니티] 문자열을 이용하여 클래스 인스턴스 생성하기 :상속 관계에서의 동적 클래스 생성
A라는 클래스를 상속한 나머지 클래스를 문자열로 생성할 때 여러 가지 방법이 있는데 스위치로 생성하거나 딕셔너리를 이용해서 생성하는 방법이 있습니다. 예시를 보자면 public class BaseEffect { public virtual void Action() { } } public class Attack : BaseEffect { public override void Action() { Debug.Log("Attack Action"); } } public class Defense : BaseEffect { public override void Action() { Debug.Log("Defense Action"); } } BaseEffect 를 상속한 Attack 과 Defense를 불러올 때 방법은 ..
2024.03.24 -
유니티(Unity) 오브젝트 풀링
참고 영상 https://www.youtube.com/watch?v=JxP-kqstMAY 오브젝트 풀링은 자주 사용되는 미사일이나 이펙트 등 계속해서 생성되고 파괴되는 오브젝트의 최적화를 위해서 사용됩니다. 비용이 큰 생성과 파괴를 계속해서 사용하는 대신 활성화시키고 비활성화시키는 방법입니다. 생성과 파괴가 반복적으로 일어나면 가비지 컬렉터가 발생하는데 이 때 렉을 발생할 수도 있습니다. 자주 사용되는 오브젝트는 오브젝트풀링으로 관리하면 프레임 저하를 막을 수 있습니다. 보통 따로 큐 나 스택으로 직접 오브젝트풀링을 만들어야 하지만 유니티 2021.3버전부터는 정식으로 오브젝트 풀링 기능을 지원합니다. https://docs.unity3d.com/ScriptReference/Pool.ObjectPool_..
2022.09.13 -
유니티(Unity) Job 시스템 사용법-1
https://docs.unity3d.com/kr/2022.1/Manual/JobSystemOverview.html Job시스템에 대해서 알아보자면 Unity C# 잡 시스템을 통해 사용자는 나머지 Unity 기능과 잘 연동하고 수정 코드 작성을 용이하게 해주는 멀티스레드 코드를 작성할 수 있습니다. 멀티스레드 코드를 작성하면 성능이 향상되는 이점을 누릴 수 있으며, 프레임 속도도 대폭 개선됩니다. 버스트 컴파일러를 C# 잡과 함께 사용하면 코드 생성 품질이 개선되며, 모바일 디바이스의 배터리 소모량도 크게 감소합니다. C# 잡 시스템의 핵심은 Unity의 내부 기능(Unity의 네이티브 잡 시스템)과 통합된다는 점입니다. 사용자가 작성한 코드와 Unity는 동일한 워커 스레드를 공유합니다. 이러한 협력..
2022.08.23