한눈에 보기
- 문제: Unity Analytics 관련 패키지를 프로젝트에서 모두 지웠는데, 빌드한 앱을 실행하면 analytics 모듈이 없다는 오류가 납니다.
- 원인: 우리가 겪은 바로는 패키지를 지운 뒤에도 프로젝트 설정 파일
ProjectSettings/UnityConnectSettings.asset에 Analytics를 켠 값이 남아 있었습니다. Unity 공식 문서에서 확인한 원인은 아닙니다. - 해결: Post Process에서 에디터 스크립트로 이 파일의
m_Enabled두 곳(파일 맨 위,UnityAnalyticsSettings아래)을false로 바꾸고 저장하면 오류가 나지 않았습니다.
확인한 환경: Unity 에디터(버전은 기록하지 않았습니다) · 처음 쓴 날 2025-07-10 · 마지막 확인 2026-10-28
Unity Analytics 관련 패키지를 제거하면 앱을 실행할 때 analytics 모듈이 없다는 오류가 납니다. 이때 Post Process에서 아래 코드처럼 Analytics 설정을 강제로 꺼 주면 오류가 더는 나지 않습니다.

패키지를 지웠는데 왜 analytics 오류가 날까요?
우리가 겪은 바로는, Package Manager에서 Analytics 패키지를 지운 뒤에도 프로젝트 설정 파일인 ProjectSettings/UnityConnectSettings.asset에는 Analytics를 켠 값이 그대로 남아 있었습니다. 그래서 앱이 실행될 때 이미 없어진 analytics 모듈을 찾다가 오류가 나는 것으로 짐작하고 있습니다. 이 동작은 Unity 공식 문서에서 확인한 내용이 아니라 우리 프로젝트에서 본 결과라는 점을 감안해 주시기 바랍니다.
해결: Post Process에서 UnityConnectSettings.asset의 Analytics 끄기
아래 코드를 Post Process 단계에 넣어서, 설정 파일에 남은 켜짐 값을 직접 꺼 주었습니다.
var connectSettingsRes = AssetDatabase.LoadAssetAtPath<UnityEngine.Object>("ProjectSettings/UnityConnectSettings.asset");
if (connectSettingsRes == null)
{
Debug.LogWarning("UnityConnectSettings.asset not found.");
return;
}
var connectSettingsObj = new SerializedObject(connectSettingsRes);
var enabledProp = connectSettingsObj.FindProperty("m_Enabled");
if (enabledProp != null)
enabledProp.boolValue = false;
var analyticsProp = connectSettingsObj.FindProperty("UnityAnalyticsSettings");
if (analyticsProp != null)
{
var analyticsEnabledProp = analyticsProp.FindPropertyRelative("m_Enabled");
if (analyticsEnabledProp != null)
analyticsEnabledProp.boolValue = false;
}
connectSettingsObj.ApplyModifiedProperties();
AssetDatabase.SaveAssets();코드가 하는 일
이 코드는 에디터에서만 쓸 수 있는 API(AssetDatabase, SerializedObject)를 쓰기 때문에 에디터 스크립트에 넣어야 합니다. 하는 일은 세 단계입니다. 먼저 ProjectSettings/UnityConnectSettings.asset을 불러오고, 파일이 없으면 경고만 남기고 멈춥니다. 다음으로 파일 맨 위의 m_Enabled와 UnityAnalyticsSettings 아래의 m_Enabled를 false로 바꿉니다. 마지막으로 ApplyModifiedProperties()와 AssetDatabase.SaveAssets()로 바뀐 값을 파일에 저장합니다.
이 코드는 언제 실행되나요?
이 글은 “Post Process”라고만 적었고, 빌드 전과 빌드 후 중 정확히 언제 이 코드를 부르는지는 남기지 않았습니다. 코드에서 알 수 있는 건 이 부분이 어떤 메서드의 본문이라는 점(중간에 return이 있습니다)과, 값을 바꾼 뒤 파일 저장까지 한다는 점입니다. 저장한 값은 파일에 남으므로, 이 코드가 한 번 돈 다음에 시작하는 빌드는 꺼진 값으로 만들어집니다. 만약 빌드가 끝난 뒤 단계에서 이 코드를 부르고 있다면 그 첫 빌드에는 바뀐 값이 들어가지 않았을 수 있습니다. 그럴 때는 바뀐 설정 파일로 한 번 더 빌드해서 오류가 사라졌는지 확인해 보시기 바랍니다.
2026년 10월 기준: 레거시 Analytics와 UGS Analytics
이 글에서 지운 레거시 Unity Analytics는 서비스가 이미 끝났습니다. Unity 지원 문서에 따르면 레거시 Analytics는 2024년 2월 2일에 꺼졌고, 그 뒤로는 레거시 방식으로 보낸 데이터를 모으지 않습니다. 지금의 Unity Analytics는 Unity Gaming Services(UGS)의 Analytics SDK로, 패키지 이름은 com.unity.services.analytics입니다. 2026년 10월에 확인한 최신 버전은 6.3.0(2026년 3월 공개)이고, 6.2.0부터는 Unity 2022.3 이상이 필요합니다(UGS Analytics 변경 기록). 레거시 패키지 com.unity.analytics는 3.7.1부터 이 UGS 패키지를 의존 패키지로 함께 쓰도록 바뀌었는데, 변경 기록에는 앞으로 레거시 패키지를 없애기 위한 준비라고 적혀 있습니다.
자주 묻는 질문
Unity Analytics 패키지를 지웠는데 왜 앱 실행 때 analytics 오류가 나나요?
우리가 겪은 바로는 패키지를 지운 뒤에도 ProjectSettings/UnityConnectSettings.asset에 Analytics를 켠 값이 남아 있었습니다. 이 값을 꺼 주니 오류가 사라졌습니다. 다만 Unity 공식 문서로 확인한 원인은 아닙니다.
UnityConnectSettings.asset에서 무엇을 끄면 되나요?
파일 맨 위의 m_Enabled와 UnityAnalyticsSettings 아래의 m_Enabled, 이렇게 두 곳을 false로 바꿨습니다. 본문 코드처럼 SerializedObject로 값을 바꾼 뒤 ApplyModifiedProperties()와 AssetDatabase.SaveAssets()로 저장합니다. 다만 파일 맨 위의 m_Enabled는 Analytics만이 아니라 Unity 서비스 연결 전체에 걸린 값일 수 있습니다. 다른 Unity 서비스(예: Cloud Diagnostics)를 쓰고 있다면, 바꾼 뒤 그 서비스가 그대로 동작하는지 확인합니다.
레거시 Unity Analytics는 지금도 쓸 수 있나요?
쓸 수 없습니다. Unity 지원 문서에 따르면 레거시 Analytics는 2024년 2월 2일에 꺼졌고, 그 뒤로는 데이터를 모으지 않습니다. 분석이 필요하면 UGS Analytics SDK(com.unity.services.analytics)로 옮겨야 합니다.
com.unity.analytics와 com.unity.services.analytics는 어떻게 다른가요?
com.unity.analytics는 레거시 Analytics 패키지로, 문서에 남은 마지막 버전은 3.8대입니다. com.unity.services.analytics는 지금의 UGS Analytics SDK이고, 2026년 10월 기준 최신은 6.3.0이며 Unity 2022.3 이상에서 씁니다. 레거시 패키지는 3.7.1부터 UGS 패키지를 의존 패키지로 함께 가져옵니다.
함께 보면 좋은 글
- Unity Project Auditor: Unity 프로젝트 품질·최적화의 시작점 — Unity 프로젝트를 정적 분석해서 품질·최적화 문제를 찾아보는 방법입니다.
- Xcode 16에서 Facebook SDK가 BitCode가 포함되어서 Appstore 업로드에 실패하는 문제 — 외부 SDK 때문에 빌드 뒤 App Store 업로드에서 막혔던 사례와 해결법입니다.
- [유니티] GUITexture -> UI.Image — Unity에서 없어진 GUITexture를 UI.Image로 옮긴 기록입니다.

답글 남기기