Abstract
"์ด๋ค ์์
์ ์ด๋ ๋ฌถ์์ ๋ฃ๊ณ , ์ด๋ป๊ฒ ๋น๋ํด์ ๋ด๋ณด๋ด๋๊ฐ"๊ฐ ๋น๋ ํ์ดํ๋ผ์ธ์ ์ผ์
๋๋ค. ์ด ์๋์
์์ ๊ทธ ๋ต์ ์ ๋ถ Addressables Groups ์ฐฝ์ ์์ต๋๋ค. ํ๋ ์์ํฌ๋ ๋ฐํ์ ์ฝ๋๋ง ๋์ ํ๊ณ , ์์
์ ๋ฑ๋กํ๊ณ ๋ฌถ๊ณ ๋น๋ํ๋ ์ผ์ ์ด ์ฐฝ์์ ์ง์ ํฉ๋๋ค.
์ค๋ฌด์์ ํ์ํ ์๊ฐ
โข
์ ์์
์ ์ถ๊ฐํ๋๋ฐ ๊ฒ์์์ ๋ก๋๋์ง ์์ ๋
โข
์๋ํฐ์์๋ ๋๋๋ฐ ๋น๋ํ ๊ฒ์์์ ์์
์ด ์ ๋ฐ ๋
โข
์ฑ ์ฉ๋์ด๋ ๋ก๋ฉ ์๊ฐ์ ์ค์ด๋ ค๊ณ ๋ฌถ์์ ๋๋ ๋
ToyboxNightmare ์์๋
Prefabs ๊ทธ๋ฃน ํ๋์ 25๊ฐ๊ฐ ๋ค์ด ์๊ณ , ํ ๋ฒ๋ค๋ก ๋ฌถ์
๋๋ค(Pack Together) โ ์บ๋ฆญํฐ 2(Girl, Boy), ์ 5(Zombunny, ZomBear, Hellephant, Clown, ZombieDuck), ์๊ตฐ 2(Sheep, Dog), ํฌ์ฌ์ฒดยทํผ๊ฒฉ ์ดํํธ 5, UI ํผ 2(HUDForm, PauseMenuForm), ์ฌ์ด๋ ํด๋ฆฝ 8, ๋ฐฐ๊ฒฝ Environment. ์ ๋ถ ์ฑ ์์ ๋ค์ด๊ฐ๋ Local ๊ทธ๋ฃน์
๋๋ค.
Groups ์ฐฝ
Window โ Asset Management โ Addressables โ Groups
์์น | ํ๋ ์ผ |
๊ทธ๋ฃน ๋ชฉ๋ก | ์์
์ ๋์ด๋ค ๋์ ๋ฑ๋กํ๊ณ , ์ฃผ์๋ฅผ ๊ณ ์น๋ค |
Play Mode Script | ์๋ํฐ์์ ํ๋ ์ดํ ๋ ์์
์ ์ด๋์ ์ฝ์์ง ๊ณ ๋ฅธ๋ค |
Build | ๋ฒ๋ค์ ๋น๋ํ๋ค (New Build, Update a Previous Build, Clear Build Cache) |
Tools | ์ค์ ยทํ๋กํยท๋ผ๋ฒจยท๋ถ์ ์ฐฝ์ ์ฐ๋ค |
์์ ๋ฑ๋ก
1.
์์
์ ๊ทธ๋ฃน์ผ๋ก ๋์ด๋ค ๋๋๋ค.
2.
์ฃผ์๋ฅผ ์งง์ ํค๋ก ๋ฐ๊พผ๋ค. ๊ธฐ๋ณธ๊ฐ์ ์ ์ฒด ๊ฒฝ๋ก(Assets/Art/Prefabs/Zombunny.prefab)๋ค. ์ฌ๋ฌ ๊ฐ๋ฅผ ์ ํํด ์ฐํด๋ฆญ โ Simplify Addressable Names ๋ฅผ ๋๋ฅด๋ฉด ํ์ผ ์ด๋ฆ๋ง ๋จ๋๋ค.
3.
์ฝ๋์์ ๊ทธ ๋ฌธ์์ด ๊ทธ๋๋ก ShowEntity / OpenUIForm / PlaySound ์ ๋๊ธด๋ค.
๋ฑ๋ก์ ๋ฐ๋์ Groups ์ฐฝ์์ ํฉ๋๋ค. ๊ทธ๋ฃน ์์
ํ์ผ์ ํ
์คํธ๋ก ์ง์ ๊ณ ์น๋ฉด GUID ๊ฐ ์ด๊ธ๋ ์กฐ์ฉํ ๋ก๋์ ์คํจํฉ๋๋ค. ๋ ์ฌ์ ์ฃผ์๋ฅผ ์ค์ด์ง ์๊ณ ์ ์ฒด ๊ฒฝ๋ก(Assets/โฆ.unity)๋ฅผ ๊ทธ๋๋ก ๋ก๋๋ค โ ํ๋ ์์ํฌ์ SceneComponent ๊ฐ ๊ทธ ํ์์ ์๊ตฌํฉ๋๋ค.
Play Mode Script โ ์๋ํฐ์์ ์ด๋์ ์ฝ์๊น
๋ชจ๋ | ์ฝ๋ ๊ณณ | ์ฐ๋ ๋ |
Use Asset Database (fastest) | ํ๋ก์ ํธ์ ์์
์ ์ง์ . ๋ฒ๋ค ๋น๋๊ฐ ํ์ ์๋ค | ๊ฐ๋ฐ ์ค ๊ธฐ๋ณธ๊ฐ |
Use Existing Build | ๋ฏธ๋ฆฌ ๋น๋ํด ๋ ๋ฒ๋ค | ์ถ์ ์ ๊ฒ์ฆ, ์๊ฒฉ ๋ก๋ยทํจ์น ์ํ |
์ด ์ค์ ์ Library/ ์ ์ ์ฅ๋์ด git ์ผ๋ก ๊ณต์ ๋์ง ์์ต๋๋ค. ํ๋ก์ ํธ๋ฅผ ์๋ก ๋ฐ์ผ๋ฉด ํ ๋ฒ ํ์ธํด์ผ ํ๊ณ , Use Existing Build ์ธ๋ฐ ๋ฒ๋ค์ ๋น๋ํ ์ ์ด ์์ผ๋ฉด ์ํฐํฐ๊ฐ ํ๋๋ ๋จ์ง ์์ต๋๋ค.
๊ทธ๋ฃน์ ์ด๋ป๊ฒ ๋๋๊น
๊ทธ๋ฃน์ ๋ฒ๋ค์ ๋จ์์ด์ ๋ฐฐํฌ์ ๋จ์์
๋๋ค. ์์ ๊ฒ์์ ๊ทธ๋ฃน ํ๋๋ก ์ถฉ๋ถํ๊ณ , ์ปค์ง๋ฉด ์๋ ๊ธฐ์ค์ผ๋ก ๋๋๋๋ค.
๊ธฐ์ค | ๋๋๋ ๋ฐฉ๋ฒ | ์ป๋ ๊ฒ |
๊ฐ์ด ์ฐ์ด๋๊ฐ | ์คํ
์ด์ง๋ณ, ํ๋ฉด๋ณ๋ก ๊ทธ๋ฃน์ ๋๋๋ค | ์ ์ฐ๋ ์คํ
์ด์ง์ ์์
์ด ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์ค์ง ์๋๋ค |
์์ฃผ ๋ฐ๋๋๊ฐ | ๋ฐธ๋ฐ์ค ๋ฐ์ดํฐยท์ด๋ฒคํธ UI ๋ฅผ ๋ฐ๋ก ๋๋ค | ํจ์น ๋ ์์ ๋ฒ๋ค๋ง ๋ค์ ๋ฐ๋๋ค |
์ฑ์ ๋ฃ์ ๊ฒ์ธ๊ฐ | Local ๊ทธ๋ฃน / Remote ๊ทธ๋ฃน | ์ค์น ์ฉ๋์ ์ค์ด๊ณ ๋๋จธ์ง๋ฅผ ์ฒซ ์คํ ๋ ๋ฐ๋๋ค |
๊ทธ๋ฃน ์ค์ ์ Bundle Mode ๋ก ๊ทธ๋ฃน ์์์๋ ๋ฌถ๋ ๋ฐฉ์์ ๊ณ ๋ฆ
๋๋ค.
Bundle Mode | ๊ฒฐ๊ณผ | ๋ง๋ ๊ฒฝ์ฐ |
Pack Together | ๊ทธ๋ฃน ์ ์ฒด๊ฐ ๋ฒ๋ค ํ๋ | ํญ์ ๊ฐ์ด ์ฐ์ด๋ ์์
(์์ ๊ฐ ์ด ๋ฐฉ์) |
Pack Separately | ์์
๋ง๋ค ๋ฒ๋ค ํ๋ | ๋ฐ๋ก๋ฐ๋ก ์ฐ์ด๋ ํฐ ์์
(์คํ
์ด์ง ์ฌ, ๋ฐฐ๊ฒฝ์) |
Pack Together By Label | ๊ฐ์ ๋ผ๋ฒจ๋ผ๋ฆฌ ๋ฒ๋ค ํ๋ | ๊ทธ๋ฃน์ ๋๋ฆฌ์ง ์๊ณ ๋ฌถ์์ ์กฐ์ ํ๊ณ ์ถ์ ๋ |
๋ฒ๋ค ํ๋์์ ์์
ํ๋๋ง ํ์ํด๋ ๋ฒ๋ค ์ ์ฒด๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ฒ๋ค์ ์์
์ ํ๋๋ผ๋ ์ฐ๋ ๋์์๋ ๋ฒ๋ค์ด ๋ด๋ ค๊ฐ์ง ์์ต๋๋ค. "๊ฐ์ด ์ฐ์ด๋ ๊ฒ๋ผ๋ฆฌ ๋ฌถ๋๋ค"๊ฐ ๊ธฐ๋ณธ ์์น์ธ ์ด์ ์
๋๋ค.
๋น๋
๋ฉ๋ด | ํ๋ ์ผ |
Build โ New Build โ Default Build Script | ๋ชจ๋ ๊ทธ๋ฃน์ ๋ฒ๋ค๊ณผ ์นดํ๋ก๊ทธ๋ฅผ ์๋ก ๋ง๋ ๋ค |
Build โ Update a Previous Build | ์ด์ ๋น๋์ ๋น๊ตํด ๋ฐ๋ ๊ฒ๋ง ๋ค์ ๋ง๋ ๋ค (ํจ์น์ฉ) |
Build โ Clear Build Cache โ All | ๋น๋ ์บ์๋ฅผ ๋น์ด๋ค. ๋น๋ ๊ฒฐ๊ณผ๊ฐ ์ด์ํ ๋ |
ํ๋ ์ด์ด(๊ฒ์ ์คํ ํ์ผ)๋ฅผ ๋น๋ํ ๋ Addressables ๋ฒ๋ค์ ํจ๊ป ๋น๋ํ ์ง๋ Addressables Settings ์ Build Addressables on Player Build ๋ก ์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ Unity ํ๊ฒฝ์ค์ ์ ๋ฐ๋ฅด๋ฉฐ, ํ๊ฒฝ์ค์ ์ ๊ธฐ๋ณธ์ "ํจ๊ป ๋น๋"์
๋๋ค. CI ์ฒ๋ผ ๋จ๊ณ๋ฅผ ๋๋๊ณ ์ถ์ ๋ ๋๋๋ค.
๋ถ์ ๋๊ตฌ
Groups ์ฐฝ์ Tools โ Window ์๋์ ์์ต๋๋ค.
๋๊ตฌ | ์๋ ค ์ฃผ๋ ๊ฒ |
Analyze | ์ฌ๋ฌ ๋ฒ๋ค์ ์ค๋ณต์ผ๋ก ๋ค์ด๊ฐ ์์
. ์๋ฅผ ๋ค์ด ๋ ๊ทธ๋ฃน์ ํ๋ฆฌํน์ด ๊ฐ์ ๋จธํฐ๋ฆฌ์ผ์ ์ฐ๋๋ฐ ๊ทธ ๋จธํฐ๋ฆฌ์ผ์ ๋ฑ๋กํ์ง ์์๋ค๋ฉด ์์ชฝ ๋ฒ๋ค์ ๋ณต์ฌ๋ณธ์ด ํ๋์ฉ ๋ค์ด๊ฐ๋ค. ์ฐพ์์ ๊ณต์ฉ ๊ทธ๋ฃน์ผ๋ก ๋นผ ์ค๋ค |
Addressables Report | ๋ง์ง๋ง ๋น๋์ ๋ฒ๋ค๋ณ ํฌ๊ธฐ์ ๋ด์ฉ๋ฌผ, ์์กด ๊ด๊ณ |
Labels | ๋ผ๋ฒจ ๊ด๋ฆฌ. "๋ฏธ๋ฆฌ ๋ฐ์ ๋ฌถ์"์ฒ๋ผ ์ฌ๋ฌ ์์
์ ํ๊บผ๋ฒ์ ๊ฐ๋ฆฌํฌ ๋ ์ด๋ค |
Profiles | ๋น๋ ๊ฒฝ๋กยท๋ก๋ ๊ฒฝ๋ก(๊ฐ๋ฐ ์๋ฒ / ์ด์ CDN) ์ ํ |
์คํ ์ค์ ํธ๋คยท๋ฒ๋ค ์ํ๋ Unity Profiler ์ Addressables ๋ชจ๋์์ ๋ด
๋๋ค.
์ถ์ ์ ์ ๊ฒ
์ฝ๋์ ์ฃผ์ ์์๊ฐ ๋ชจ๋ Groups ์ฐฝ์ ๋ฑ๋ก๋ผ ์๋ค (์คํ๋ ์ปดํ์ผ ์๋ฌ๊ฐ ์๋๋ผ ์คํจ ์ด๋ฒคํธ๋ก๋ง ๋๋ฌ๋๋ค)
Play Mode Script ๋ฅผ Use Existing Build ๋ก ๋ฐ๊พธ๊ณ ๋ฒ๋ค์ ๋น๋ํด ํ ํ์ ๋๊น์ง ํ๋ ์ดํด ๋ดค๋ค
Analyze ๋ก ์ค๋ณต ์์
์ ํ์ธํ๋ค
์ํฐํฐ ํ๋ฆฌํน์ ๋ก์ง ์คํฌ๋ฆฝํธ๊ฐ ๋ถ์ด ์์ง ์๊ณ , UI ํผ ํ๋ฆฌํน์๋ ๋ถ์ด ์๋ค
ํ์ธ์ด ๋๋ ๋ค Play Mode Script ๋ฅผ Use Asset Database ๋ก ๋๋๋ ธ๋ค
"์๋ํฐ์์๋ ๋๋๋ฐ ๋น๋์์ ์ ๋๋ค"์ ํํ ์์ธ์ ์๋ํฐ๊ฐ ๋ฒ๋ค์ ๊ฑฐ์น์ง ์๊ณ ์์
์ ์ฝ๊ธฐ ๋๋ฌธ์
๋๋ค. Use Asset Database ๋ชจ๋์์๋ ์์
์ ๊ณ ์น๋ฉด ๋ฐ๋ก ๋ฐ์๋์ง๋ง, ๋น๋๋ ๊ฒ์์ ๋ง์ง๋ง์ผ๋ก ๋น๋ํ ๋ฒ๋ค์ ์๋๋ค. ๋ฒ๋ค์ด ์ค๋๋๊ฑฐ๋, ๋ฒ๋ค๋ก ๋ฌถ๋ ๊ณผ์ ์์๋ง ๋๋ฌ๋๋ ๋ฌธ์ (๋น ์ง ์์กด ์์
, ์ ๊ฑฐ๋ ์
ฐ์ด๋ ๋ณํ)๊ฐ ์์ผ๋ฉด ์๋ํฐ์์๋ ๋ณด์ด์ง ์์ต๋๋ค. ๊ทธ๋์ ์ถ์ ์ ์ Use Existing Build ๋ก ํ ๋ฒ ๋๋ ค ๋ณด๋ ๋จ๊ณ๊ฐ ํ์ํฉ๋๋ค.
์๊ฒฉ ๋ฐฐํฌ์ ํจ์น๋
Resource Updating(๋ฆฌ์์ค ์
๋ฐ์ดํธ)-Addressable ์์ ์ด์ด์ง๋๋ค.





