Home > Unity > Manual > Unity Assembly Definition ํ™œ์šฉ

Unity Assembly Definition ํ™œ์šฉ
Unity

๐Ÿš€ Unity ๊ฐœ๋ฐœ ํ•„์ˆ˜: Assembly Definition File (.asmdef) ์™„์ „ ๋ถ„์„

Unity Document์—์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์„ค๋ช…ํ•ด์ฃผ๊ณ  ์žˆ๋‹ค.
"Default_View.png"

Assembly๋ž€ ๋ฉ”์ธ ๊ธฐ๋Šฅ์ด ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ๋ฌถ์–ด ๊ทธ๋ฃนํ™” ํ–ˆ๋‹ค๊ณ  ๋‚˜๋Š” ์ดํ•ดํ•˜๊ณ  ์žˆ๋‹ค. ์ด๋Š” ์ปดํŒŒ์ผ ์‹œ ํ•˜๋‚˜์˜ DLL(Dynamic Link Library) ํŒŒ์ผ๋กœ ๋งŒ๋“ค์–ด์ง€๋Š” ๋…ผ๋ฆฌ์ ์ธ ์ฝ”๋“œ ๋ฌถ์Œ ๋‹จ์œ„์ด๋‹ค.
Unity๋Š” ๋ณ„๋„์˜ ์„ค์ •์ด ์—†๋‹ค๋ฉด ์œ„ ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด Assembly-CSharp ํ•˜๋‚˜์— ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ํ†ตํ•ฉํ•˜์—ฌ ๊ด€๋ฆฌํ•˜๊ฒŒ ๋œ๋‹ค.
์ด๋ฅผ ์‚ฌ์šฉ์ž ํŽธ์˜์— ๋งž์ถฐ ๊ฐ ๊ธฐ๋Šฅ๋ณ„๋กœ ๋ชจ๋“ˆํ™” ์‹œ์ผœ์ฃผ๋Š” ์ž‘์—…์„ Assembly Definition File (.asmdef)์„ ํ™œ์šฉํ•˜์—ฌ ์ง„ํ–‰ํ•˜๋ฉด ๋œ๋‹ค.

์™œ ์จ์•ผ ํ•˜๋Š”๊ฐ€?

Assembly-CSharp์— ๋ชจ๋“  ์ฝ”๋“œ๊ฐ€ ํ†ตํ•ฉ๋˜์–ด ๋ฌถ์—ฌ ์žˆ๋Š” ์ƒํ™ฉ์—์„œ๋Š”, UIManager์™€ PlayerManager์ฒ˜๋Ÿผ ์„œ๋กœ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ๋ชจ๋“ˆ๋“ค์ด ์„œ๋กœ๋ฅผ ์ง์ ‘ ์ฐธ์กฐํ•˜๋Š” ์ƒํ™ฉ์ด ๋น„์ •์ƒ์ ์œผ๋กœ ๋ณด์ด์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜คํžˆ๋ ค ์—๋Ÿฌ ์—†์ด ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์–ด ์ผ๊ฒฌ ํŽธ๋ฆฌํ•˜๊ฒŒ ๋А๊ปด์งˆ ์ˆ˜๋„ ์žˆ์ฃ .

ํ•˜์ง€๋งŒ ํ”„๋กœ์ ํŠธ ๊ทœ๋ชจ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ์ด๋Ÿฌํ•œ โ€˜์‰ฌ์šด ์ฐธ์กฐโ€™๊ฐ€ ๋‚ณ๋Š” ๋ฌธ์ œ์ ๋“ค์ด ๋“œ๋Ÿฌ๋‚˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” UI ๊ด€๋ จ ์ฝ”๋“œ๋งŒ ์ˆ˜์ •ํ–ˆ๋Š”๋ฐ, Unity๋Š” ๋ชฌ์Šคํ„ฐ์™€ ๊ด€๋ จ๋œ ์ฝ”๋“œ๊นŒ์ง€ ๋ชจ๋‘ ๊ฒ€์‚ฌํ•˜๋ฉฐ ์ปดํŒŒ์ผํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชฌ์Šคํ„ฐ์™€ ๊ด€๋ จ๋œ ๊ธฐ๋Šฅ์€ ์ „ํ˜€ ๊ฑด๋“œ๋ฆฌ์ง€๋„ ์•Š์•˜๋Š”๋ฐ ๋ง์ด์ฃ .

๋” ๋‚˜์•„๊ฐ€, UI ๊ด€๋ จ ์ฝ”๋“œ๋งŒ์„ ๋…๋ฆฝ์ ์œผ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์ˆ˜๋งŽ์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ชฌ์Šคํ„ฐ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๊ณ , ํ”Œ๋ ˆ์ด์–ด๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๊ณ , ๋ฌด๊ธฐ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ์ € UI์— ๋‚˜ํƒ€๋‚˜๋Š” ํ…์ŠคํŠธ๋ฅผ ์ˆ˜์ •ํ•˜๋ ค๊ณ  ํ–ˆ์„ ๋ฟ์ธ๋ฐโ€ฆ

์ด๋Ÿฌํ•œ ๋†’์€ ๊ฒฐํ•ฉ๋„(High Coupling)์™€ ๋น„ํšจ์œจ์ ์ธ ์ปดํŒŒ์ผ์ด๋ผ๋Š” ๊ทผ๋ณธ์ ์ธ ์ด์ƒํ•จ์„ ๋А๊ผˆ๋‹ค๋ฉด, ์ฝ”๋“œ๋ฅผ ๊ธฐ๋Šฅ๋ณ„๋กœ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ถ„๋ฆฌํ•˜๋Š” Assembly Definition File (.asmdef)์„ ํ™œ์šฉํ•ด์•ผ ํ•  ๋•Œ์ž…๋‹ˆ๋‹ค.

์•„๋ž˜๋Š” .asmdef ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ๋•Œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ํ•ต์‹ฌ์ ์ธ ์ด์ 

1. ์Œ๋ฐฉํ–ฅ ์ฐธ์กฐ ์ œํ•œ (๋‚ฎ์€ ๊ฒฐํ•ฉ๋„ ์œ ๋„)
2. ์ปดํŒŒ์ผ ์†๋„ ์ฆ๊ฐ€ (์ ์ง„์  ์ปดํŒŒ์ผ)

1. ์Œ๋ฐฉํ–ฅ ์ฐธ์กฐ(Circular Dependency) ์ œํ•œ

์Œ๋ฐฉํ–ฅ ์ฐธ์กฐ๋ž€ ์„œ๋กœ๊ฐ€ ์„œ๋กœ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์ƒํ™ฉ์„ ๋งํ•˜๋ฉฐ, ์ด๋Š” ๋ชจ๋“ˆ ๊ฐ„์˜ ๋†’์€ ๊ฒฐํ•ฉ๋„(High Coupling)๋ฅผ ์œ ๋ฐœํ•˜์—ฌ ํ…Œ์ŠคํŠธ์™€ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, UIManager์™€ PlayerManager ๋ผ๋Š” Manager ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•  ๋•Œ ๊ฐ Manager์˜ ๊ธฐ๋Šฅ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
UIManager : ํ”Œ๋ ˆ์ด์–ด ์ฒด๋ ฅ ํ‘œ์‹œ, ์ธ๋ฒคํ† ๋ฆฌ ํ‘œ์‹œ ๋“ฑ
PlayerManager : ํ”Œ๋ ˆ์ด์–ด ์ •๋ณด ๋ณด์œ , ๋ฐ๋ฏธ์ง€ ํŒ์ • ๊ธฐ๋Šฅ ๋“ฑ

์œ„์™€ ๊ฐ™์„ ๋•Œ, ๋ชฌ์Šคํ„ฐ A๊ฐ€ ํ”Œ๋ ˆ์ด์–ด๋ฅผ ๊ณต๊ฒฉ ํ•˜๋ฉด PlayerManager๋Š” ๋ฐ๋ฏธ์ง€๊ฐ€ ๋“ค์–ด์™”๋‹ค๊ณ  ํŒ๋‹จํ•˜์—ฌ UIManager๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ํ”Œ๋ ˆ์ด์–ด ์ฒด๋ ฅ์„ ๊ฐ์†Œ ์‹œ์ผœ ์ค๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๊ณ  ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์ธ๋ฒคํ† ๋ฆฌ์—์„œ ์ฒด๋ ฅ ํฌ์…˜์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด UIManager๋Š” PlayerManager๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์ฒด๋ ฅ์ด ํšŒ๋ณต๋˜์—ˆ๋‹ค๊ณ  ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

๐Ÿ‘‰ ๋ฌธ์ œ์  ์š”์•ฝ:
์ด๋ ‡๊ฒŒ ๋˜๋ฉด UIManager์™€ PlayerManager๋Š” ๋ฉ”์ธ ๊ธฐ๋Šฅ์ด ์„œ๋กœ ๋‹ค๋ฆ„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์„œ๋กœ๋ฅผ ์ฐธ์กฐํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด UIManager์˜ ์ผ๋ถ€ ๊ธฐ๋Šฅ(์˜ˆ: ๋ฉ”์ธ๋ฉ”๋‰ด)๋งŒ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์‹ถ์–ด๋„ ์ „์ฒด ์‹œ์Šคํ…œ(PlayerManager ํฌํ•จ)์„ ๋กœ๋“œํ•ด์•ผ ํ•˜๋Š” ๋…๋ฆฝ์„ฑ ์ €ํ•˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

โœ… .asmdef์˜ ์—ญํ• :
.asmdef ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๋ฉด, ๊ฐ ์–ด์…ˆ๋ธ”๋ฆฌ(๋ชจ๋“ˆ) ๊ฐ„์˜ ์ฐธ์กฐ ๊ด€๊ณ„๋ฅผ ํŒŒ์ผ ๋‚ด์—์„œ ๋ช…์‹œ์ ์œผ๋กœ ์ •์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ A๊ฐ€ B๋ฅผ ์ฐธ์กฐํ•˜๊ณ , B๊ฐ€ A๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์˜๋„์น˜ ์•Š์€ ์ˆœํ™˜ ์ฐธ์กฐ๋ฅผ ์ปดํŒŒ์ผ ๋‹จ๊ณ„์—์„œ๋ถ€ํ„ฐ ์ฐจ๋‹จํ•˜์—ฌ, ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹จ๋ฐฉํ–ฅ ์˜์กด์„ฑ์„ ์„ค๊ณ„ํ•˜๋„๋ก ๊ฐ•์ œํ•ฉ๋‹ˆ๋‹ค.

2. โšก๏ธ ์ปดํŒŒ์ผ ์†๋„ ์ฆ๊ฐ€ (์ ์ง„์  ์ปดํŒŒ์ผ)

Unity์—์„œ๋Š” ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ฒŒ ๋˜๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ์— ์˜ํ•ด ์ปดํŒŒ์ผ์„ ํ•œ๋ฒˆ ๊ฑฐ์น˜๊ฒŒ ๋œ๋‹ค. ์ด ๊ณผ์ •์€ ๋ฌธ๋ฒ• ์—๋Ÿฌ๋‚˜, ์ฐธ์กฐ ์—๋Ÿฌ๋ฅผ ๋ฐœ๊ฒฌํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ ค์ฃผ๋Š” ์ค‘์š”ํ•œ ๋‹จ๊ณ„์ด๋‹ค.

โŒ .asmdef ๋ฏธ์‚ฌ์šฉ ์‹œ (๋ฌธ์ œ์ ):
๋ฌธ์ œ๋Š” ๋‚ด๊ฐ€ A๋ผ๋Š” .cs ํŒŒ์ผ์„ ์ˆ˜์ •ํ–ˆ์„ ๋•Œ ๋™์ผํ•œ Assembly-CSharp ๋‚ด์˜ ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ํ†ต์งธ๋กœ ์ปดํŒŒ์ผ ํ•˜๊ฒŒ ๋˜์–ด์„œ, ๋ฌถ์—ฌ์žˆ๋Š” ์ฝ”๋“œ๋“ค์ด ๋งŽ์„์ˆ˜๋ก ์ปดํŒŒ์ผ ์‹œ๊ฐ„์ด ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ๋Š˜์–ด๋‚˜๊ฒŒ ๋œ๋‹ค.
์ˆ˜์ •ํ•˜๊ณ  ํ…Œ์ŠคํŠธ ํ•˜๋Š” ๊ฒƒ์ด ์ผ์ƒ์ธ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ด๋Š” ๊ฝค๋‚˜ ํฐ ์‹œ๊ฐ„ ๋‚ญ๋น„๋กœ ๋‹ค๊ฐ€์™”๊ณ , ํŠนํžˆ ํŒ€ ํ”„๋กœ์ ํŠธ ๊ทœ๋ชจ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ์ด ๋ฌธ์ œ๋Š” ๋”์šฑ ์‹ฌ๊ฐํ•ด์ง„๋‹ค.

โœ… .asmdef ์‚ฌ์šฉ ์‹œ (ํ•ด๊ฒฐ์ฑ…):
.asmdef๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋กœ์ ํŠธ์˜ ์ฝ”๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž‘์€ ๋…๋ฆฝ์ ์ธ ์–ด์…ˆ๋ธ”๋ฆฌ๋กœ ๋ถ„ํ• ๋ฉ๋‹ˆ๋‹ค. ์ด์ œ A๋ผ๋Š” ํŒŒ์ผ ํ•˜๋‚˜๋ฅผ ์ˆ˜์ •ํ•˜๋”๋ผ๋„, ์ปดํŒŒ์ผ๋Ÿฌ๋Š” A๊ฐ€ ์†ํ•œ ์–ด์…ˆ๋ธ”๋ฆฌ์™€ A ์–ด์…ˆ๋ธ”๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋‹ค๋ฅธ ์–ด์…ˆ๋ธ”๋ฆฌ๋งŒ ์žฌ์ปดํŒŒ์ผ(Recompile)ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€ ๋…๋ฆฝ๋œ ์–ด์…ˆ๋ธ”๋ฆฌ๋Š” ์ปดํŒŒ์ผํ•˜์ง€ ์•Š์•„ ์ปดํŒŒ์ผ ์‹œ๊ฐ„์ด ํš๊ธฐ์ ์œผ๋กœ ๋‹จ์ถ•๋ฉ๋‹ˆ๋‹ค.


โœ… Assembly Definition (.asmdef) ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ ์ ์šฉ ํ›„๊ธฐ

์‹ค์ œ๋กœ ๊ธฐ๋Šฅ์„ ๊ฒฝํ—˜ํ•ด๋ณด๊ณ ์ž ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ์— Assembly Definition File (.asmdef)์„ ์ ์šฉํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.
์ด ๊ธฐ๋Šฅ์ด ์ฃผ๋กœ ๋Œ€๊ทœ๋ชจ ํŒ€ ํ”„๋กœ์ ํŠธ์—์„œ ๋น›์„ ๋ฐœํ•œ๋‹ค๋Š” ์ด์•ผ๊ธฐ๋ฅผ ๋งŽ์ด ๋“ค์—ˆ์ง€๋งŒ, ์ฒ˜์Œ๋ถ€ํ„ฐ ํฐ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ค์šธ ๊ฒƒ์ด๋ผ ํŒ๋‹จํ•˜์—ฌ ์ž‘์€ ํ”„๋กœ์ ํŠธ์—์„œ ๊ฒฝํ—˜์„ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ ์€ ์ฝ”๋“œ์˜€์Œ์—๋„ ๋ถˆํ•„์š”ํ•˜๊ณ  ๋ณต์žกํ•œ ์ฐธ์กฐ๊ฐ€ ๋งŽ์•˜๊ณ , ์ด ์ฐธ์กฐ๋“ค์„ ์ œ๊ฑฐํ•˜๊ณ  ๋ชจ๋“ˆํ™”ํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„ ๋Šฅ๋ ฅ์ด ํ–ฅ์ƒ๋˜๋Š” ๋“ฏํ•œ ์ฐฉ๊ฐ์„ ๋А๊ผˆ์Šต๋‹ˆ๋‹ค.

1. ๐Ÿค ๊ฒฐํ•ฉ๋„ ๊ฐ์†Œ ๋ฐ ๋‹จ๋ฐฉํ–ฅ ์˜์กด์„ฑ ํ™•๋ฆฝ

์œ„์— ์ ์€ ์ด์ ๋Œ€๋กœ ์–ด์…ˆ๋ธ”๋ฆฌ ๊ฐ„์˜ ๋ถˆํ•„์š”ํ•œ ์ง์ ‘ ์ฐธ์กฐ๊ฐ€ ์‚ฌ๋ผ์กŒ์Œ์„ ์ฒด๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ํฐ ๋ณ€ํ™”๋Š” ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ ๋„์ž…์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ชฌ์Šคํ„ฐ๊ฐ€ ์ฃฝ์œผ๋ฉด ์ ์ˆ˜๊ฐ€ ์˜ฌ๋ผ๊ฐ€๋Š” ๋กœ์ง์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค.

  • ์ด์ „ (์ง์ ‘ ์ฐธ์กฐ): Monster.cs์—์„œ Score.cs์— ์žˆ๋Š” ์ ์ˆ˜ ์ฆ๊ฐ€ ํ•จ์ˆ˜๋ฅผ ์ง์ ‘ ํ˜ธ์ถœํ–ˆ์Šต๋‹ˆ๋‹ค. (์Œ๋ฐฉํ–ฅ ์ฐธ์กฐ ์œ ๋ฐœ)
  • ํ˜„์žฌ (์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜): Monster.cs๋Š” GameManager(๊ณตํ†ต ํด๋ž˜์Šค)์— ๋ชฌ์Šคํ„ฐ๊ฐ€ ์ฃฝ์—ˆ๋‹ค๋Š” ์‹ ํ˜ธ(์ด๋ฒคํŠธ)๋งŒ ๋ณด๋ƒ…๋‹ˆ๋‹ค. Score.cs๋Š” ์ด ์ด๋ฒคํŠธ๋ฅผ ๊ตฌ๋…ํ•˜๊ณ  ์žˆ๋‹ค๊ฐ€ ์‹ ํ˜ธ๊ฐ€ ์˜ค๋ฉด ์ž์‹ ์˜ ์ ์ˆ˜๋ฅผ ์˜ฌ๋ฆฌ๋Š” ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
	A(GameManager - ์ด๋ฒคํŠธ ๋ธŒ๋กœ์ปค)
	B[Score.cs] --> A|์ด๋ฒคํŠธ ๊ตฌ๋…|
	C[Monster.cs] --> A|์ด๋ฒคํŠธ ๋ฐœ์ƒ| --> |์ด๋ฒคํŠธ ํ˜ธ์ถœ|

2. โšก๏ธ ์ปดํŒŒ์ผ ์†๋„ ํ–ฅ์ƒ (์ ์ง„์  ์ปดํŒŒ์ผ)

ํ”„๋กœ์ ํŠธ ๊ทœ๋ชจ๊ฐ€ ์ž‘์•„ ์ปดํŒŒ์ผ ์†๋„๊ฐ€ ์™€๋‹ฟ์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์ง€๋งŒ, ๋ณ€ํ™”๋ฅผ ์ฒด๊ฐํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์ „์—๋Š” ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์ฝ”๋“œ๊ฐ€ ๋ฌถ์ธ ํ•˜๋‚˜์˜ ๊ฑฐ๋Œ€ํ•œ Assembly-CSharp๋ฅผ ์žฌ์ปดํŒŒ์ผํ•˜๋А๋ผ ์ผ์ • ์‹œ๊ฐ„ ์ง€์—ฐ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

.asmdef ์ ์šฉ ํ›„์—๋Š”, ์ฐธ์กฐํ•˜๋Š” ์–ด์…ˆ๋ธ”๋ฆฌ๊ฐ€ ์ ์€ ๋ชจ๋“ˆ (์ž‘์€ .dll)์„ ์ˆ˜์ •ํ–ˆ์„ ๋•Œ ์ปดํŒŒ์ผ ์‹œ๊ฐ„์ด ๋ˆˆ์— ๋„๊ฒŒ ์ค„์–ด๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ˆ˜์ •๋œ ํŒŒ์ผ๊ณผ ๊ทธ์— ์˜์กดํ•˜๋Š” ์–ด์…ˆ๋ธ”๋ฆฌ๋งŒ ์ปดํŒŒ์ผํ•˜๋Š” ์ ์ง„์  ์ปดํŒŒ์ผ(Incremental Compilation)์ด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ž‘์€ ํ”„๋กœ์ ํŠธ์—์„œ๋„ ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ์ด ์˜ฌ๋ผ๊ฐ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ’ก ๊ฒฐ๋ก  ๋ฐ ์‹ค๋ฌด์  ๊ณ ๋ ค ์‚ฌํ•ญ

์ž‘์€ ํ”„๋กœ์ ํŠธ์ž„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  .asmdef๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ฒฐํ•ฉ๋„ ๊ฐ์†Œ์™€ ์ปดํŒŒ์ผ ์†๋„ ๊ฐœ์„  ์ด์ ์„ ๋ชจ๋‘ ์ฒด๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋™์‹œ์—, ํฐ ํ”„๋กœ์ ํŠธ์ผ์ˆ˜๋ก ์ ์šฉํ•˜๊ธฐ ๋” ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ƒ๊ฐ๋„ ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌํ•  ์ฝ”๋“œ๊ฐ€ ๋งŽ์•„์ง€๊ณ  ํŒ€์›์ด ๋งŽ์•„์งˆ์ˆ˜๋ก

  • ์ดˆ๊ธฐ ์„ค๊ณ„์˜ ์–ด๋ ค์›€: ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ๋‚˜๋ˆ„๊ณ  ์ฐธ์กฐ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•˜๋Š” ์ดˆ๊ธฐ ์„ค์ • ๋น„์šฉ์ด ๋†’์Šต๋‹ˆ๋‹ค.
  • ์œ ์ง€๋ณด์ˆ˜์˜ ์–ด๋ ค์›€: ๋ชจ๋“ˆ ๊ฐ„์˜ ์ฐธ์กฐ ๊ทœ์น™์„ ์ง€ํ‚ค๊ธฐ ์œ„ํ•œ ํŒ€ ๋‚ด ๊ทœ์น™ ์ •๋ฆฝ ๋ฐ ์ด๋ฅผ ์ผ๊ด€๋˜๊ฒŒ ๊ด€๋ฆฌํ•  ์ „๋‹ด ์—ญํ• ์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋А๊ผˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก ์ ์œผ๋กœ, .asmdef๋Š” ๋‹จ์ˆœํ•œ โ€˜์†๋„ ๊ฐœ์„ โ€™์„ ๋„˜์–ด, ์ฝ”๋“œ ์„ค๊ณ„ ๋Šฅ๋ ฅ๊ณผ ๊ฐœ๋ฐœ ๋Šฅ๋ฅ ์„ ๋™์‹œ์— ๋Œ์–ด์˜ฌ๋ฆฌ๋Š” ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์ž‘์€ ๊ทœ๋ชจ์—์„œ๋ถ€ํ„ฐ ์Šต๊ด€์„ ๋“ค์ด๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.