02-unity-bundles
暂无简介
- License 许可
- MIT
- 最近更新
- 2026-04-12
- Stars
- ★ 0
- Forks
- 0
03 SKILL.md 正文
02-unity-bundles
Status: ACTIVE AppliesTo: v11
Prerequisites
Unity C# 문법 제한: 이 문서에서 다루는 모든 UPM 패키지 코드는 skills/devian-unity/05-unity-csharp-compat/SKILL.md를 준수한다 (금지 문법 사용 시 FAIL).
SSOT
이 문서는 **UnityExample embedded 패키지 묶음(번들)**의 구성/레이아웃/asmdef 규약을 정의한다.
주의: 이 문서는 "패키지"가 아니라 **번들 정책(embedded 패키지 묶음)**을 정의한다. 도메인 모듈 정책은
skills/devian/20-domain-common/02-module-policy/SKILL.md를 참조한다.
목표
- UnityEngine.dll을 외부 .NET 빌드에서 직접 참조하지 않는다.
- UnityExample에 embedded UPM 패키지로 다음을 제공한다:
com.devian.foundation(모듈 래핑: Core + 모듈 타입 Editor + UPM Samples~ 도메인/프로토콜/수동 샘플)
비목표
- TS 변경 없음.
- UPM 배포(레지스트리/서버)는 다루지 않는다(embedded만).
패키지 루트 (embedded)
모든 패키지는 아래에 위치한다:
framework-cs/apps/UnityExample/Packages/
구성 패키지 목록
| 패키지 | 역할 |
|---|---|
com.devian.foundation |
모듈 래핑 (Core + 모듈 타입 Editor) + UPM Samples~ 기반 도메인/프로토콜/수동 샘플 코드 (CommonPackage, SoundPackage, GamePackage, MobilePackage, GameProtocol, UIPackage) |
Note: 모든 도메인 패키지(Common, Sound, Game)는
com.devian.foundation/Samples~/하위에 Sample로 제공된다 (독립com.devian.domain.*UPM 패키지 없음).
패키지 통합 정책(com.devian.core/unity 금지)은 03-ssot §Base UPM package를 참조한다.
버전 정책
모든 com.devian.* 패키지는 동일한 버전 문자열을 사용한다. (예: 0.1.0)
의존 방향 정책 (핵심)
com.devian.foundation (base - Core + Editor + Samples~)
↑
com.devian.purchase.store.* (platform IAP 구현)
Hard Rule: foundation 내부 Samples~ 코드는 foundation Runtime(Devian.Core)에 의존할 수 있지만, 역방향 금지
dependencies 상세 테이블은 04-package-policy §dependencies 정책을 참조한다.
asmdef 규약
Runtime asmdef
| asmdef | name | references | 패키지 |
|---|---|---|---|
Devian.Core.asmdef |
Devian.Core |
[] |
com.devian.foundation/Runtime/Module |
Samples~ Runtime asmdef
| asmdef | name | references | 패키지/위치 |
|---|---|---|---|
Devian.Samples.CommonPackage.asmdef |
Devian.Samples.CommonPackage |
["Devian.Core", "Unity.Addressables", "Unity.ResourceManager", "Unity.InputSystem", "Newtonsoft.Json"] |
com.devian.foundation/Samples~/CommonPackage |
Devian.Samples.SoundPackage.asmdef |
Devian.Samples.SoundPackage |
["Devian.Core", "Devian.Samples.CommonPackage"] |
com.devian.foundation/Samples~/SoundPackage |
Devian.Samples.GamePackage.asmdef |
Devian.Samples.GamePackage |
["Devian.Core", "Devian.Samples.CommonPackage", "Devian.Samples.SoundPackage"] |
com.devian.foundation/Samples~/GamePackage |
Devian.Samples.MobilePackage.asmdef |
Devian.Samples.MobilePackage |
["Devian.Core", "Devian.Samples.CommonPackage", "Devian.Samples.GamePackage", "Unity.InputSystem", "Devian.Samples.UIPackage", "Unity.Purchasing"] |
com.devian.foundation/Samples~/MobilePackage |
Devian.Samples.GameProtocol.asmdef |
Devian.Samples.GameProtocol |
["Devian.Core", "Devian.Samples.CommonPackage"] |
com.devian.foundation/Samples~/GameProtocol |
Devian.Samples.UIPackage.asmdef |
Devian.Samples.UIPackage |
["Devian.Core", "Devian.Samples.CommonPackage", "Devian.Samples.GamePackage", "Devian.Samples.SoundPackage", "Unity.TextMeshPro"] |
com.devian.foundation/Samples~/UIPackage |
Editor asmdef
| asmdef | name | references | 패키지 |
|---|---|---|---|
Devian.Unity.Editor.asmdef |
Devian.Unity.Editor |
["Devian.Core", "Devian.Samples.CommonPackage"] |
com.devian.foundation/Editor |
Samples~ Editor asmdef
| asmdef | name | references | 패키지/위치 |
|---|---|---|---|
Devian.Samples.CommonPackage.Editor.asmdef |
Devian.Samples.CommonPackage.Editor |
["Devian.Samples.CommonPackage", "Devian.Unity.Editor", "Devian.Unity", "Unity.InputSystem"] |
com.devian.foundation/Samples~/CommonPackage |
Devian.Samples.SoundPackage.Editor.asmdef |
Devian.Samples.SoundPackage.Editor |
["Devian.Samples.SoundPackage", "Devian.Samples.CommonPackage", "Devian.Samples.CommonPackage.Editor", "Devian.Unity.Editor", "Devian.Unity"] |
com.devian.foundation/Samples~/SoundPackage |
Devian.Samples.GamePackage.Editor.asmdef |
Devian.Samples.GamePackage.Editor |
["Devian.Samples.GamePackage", "Devian.Unity", "Devian.Unity.Editor"] |
com.devian.foundation/Samples~/GamePackage |
Devian.Samples.MobilePackage.Editor.asmdef |
Devian.Samples.MobilePackage.Editor |
["Devian.Samples.MobilePackage", "Devian.Core", "Devian.Samples.CommonPackage", "Devian.Samples.GamePackage", "Devian.Unity.Editor"] |
com.devian.foundation/Samples~/MobilePackage |
Devian.Samples.UIPackage.Editor.asmdef |
Devian.Samples.UIPackage.Editor |
["Devian.Samples.UIPackage", "Devian.Samples.CommonPackage", "Devian.Unity.Editor"] |
com.devian.foundation/Samples~/UIPackage |
Reference
- Unity Policy — UPM Sync/동기화 규칙
- Package Policy — package.json 메타데이터/dependencies
- Root SSOT — Foundation Package SSOT
- Module Policy — 도메인 모듈 정책