Slide 1

Slide 1 text

גࣜձࣾΩοζελʔ CTO ৿ɹ఩࠸ ͋ΒͨΊͯ Assembly Definition ʹ͍ͭͯ·ͱΊͯΈͨ - Ԟٛʂ͋ͤΜͿΓ͌Ͱ͌;͌ʹ͡ΐΜ!! -

Slide 2

Slide 2 text

2 ͜Μ͹Μ͸ʂ

Slide 3

Slide 3 text

3 ಥવͰ͕͢

Slide 4

Slide 4 text

4 Assembly Definition ͔ͭͬͯ·͔͢ʁ

Slide 5

Slide 5 text

5

Slide 6

Slide 6 text

6 { "name": "kidsstar@pretendland", "references": [ "kidsstar@firebase_utility_lifecyclehandler", "kidsstar@pretendland_common_dialog", "kidsstar@pretendland_common_downloader", "kidsstar@pretendland_common_pavilionloader", "kidsstar@pretendland_common_projects", "umm@assetbundle_management", "umm@cafu_core", "umm@cafu_generics", "umm@cafu_routing", "umm@commandline_arguments", "umm@context_management", "umm@git", "umm@jenkins", "umm@project_setting", "umm@singleton_monobehaviour", "umm@unirx", "umm@unirx_observablelifecyclemonobehaviour", "umm@unirx_observableunitywebrequest", "umm@xcode_manipulation_api", "pretendland_academy", "pretendland_ecc", "pretendland_gummi", "pretendland_ippudo", "pretendland_kao", "pretendland_nissincisco", "pretendland_sugi", "pretendland_sushiro" ], "optionalUnityReferences": [], "includePlatforms": [], "excludePlatforms": [], "allowUnsafeCode": false }

Slide 7

Slide 7 text

7 ։ൃ࣌ͷίϯύΠϧ͕଎͘ͳΔ
 ʢ͔΋͠Εͳ͍ʣ
 Assembly Definition
 ʹ͍ͭͯղઆ͠·͢ʂ

Slide 8

Slide 8 text

ࣗݾ঺հ 8

Slide 9

Slide 9 text

w৿ɹ఩࠸ʢBLB΋ΜΓ͌ઌੜʣ w೥࡛ۄݝ࢈ wגࣜձࣾΩοζελʔ$50 wࠓ݄ࡀʹͳΔ່ʹκοίϯ-07& w͓ञͱ߹এͱϓϩάϥϛϯά͕झຯ w5XJUUFS!NPOSZ(JU)VC!NPOSZ 9 Who am I ? ࣗݾ঺հ

Slide 10

Slide 10 text

10 Who am I ? ϚϯΨͰΘ͔Δ6OJUZ޷ධ࿈ࡌதʂ ࣗݾ঺հ

Slide 11

Slide 11 text

w ࢠͲ΋޲͚εϚϗΞϓϦ
 ։ൃͳͲ w ೥͋ͨΓ͔Β
 6OJUZΨοπϦ w ͬ͜͝ϥϯυ
 ྦྷܭສ%- w "QQ4UPSF(PPHMF1MBZ
 ʹͯࢠͲ΋޲͚ΧςΰϦ
 ϥϯΩϯά501 11 ͓͠͝ͱ ࣗݾ঺հ

Slide 12

Slide 12 text

ΞδΣϯμ 12

Slide 13

Slide 13 text

w"TTFNCMZ%FpOJUJPOͱ͸ʁ w"TTFNCMZ%FpOJUJPOͷ࢖͍ํ w"TTFNCMZ%FpOJUJPOͷ5JQT 13 ͓͠ͳ͕͖ ΞδΣϯμ

Slide 14

Slide 14 text

w"TTFNCMZ%FpOJUJPOͱ͸ʁ w"TTFNCMZ%FpOJUJPOͷ࢖͍ํ w"TTFNCMZ%FpOJUJPOͷ5JQT 14 ͓͠ͳ͕͖ ΞδΣϯμ

Slide 15

Slide 15 text

Assembly Definition ͱ͸ʁ 15

Slide 16

Slide 16 text

16 Assembly
 Λ
 Definition
 ͢ΔͨΊͷػೳ

Slide 17

Slide 17 text

17 Assembly ? Assembly Definition ͱ͸ʁ ग़య.4%/ʮ/&5ͷΞηϯϒϦͱ໊લۭؒͷཧղͱ࢖༻ʯ lΞηϯϒϦ͸ɺػೳͷ࿦ཧత୯ҐΛ
 ߏ੒͢ΔܕͱϦιʔεͷू·ΓͰ͢ɻz

Slide 18

Slide 18 text

18 Assembly ? Assembly Definition ͱ͸ʁ wૈ͘ݴ͑͹ʮϓϩάϥϜͷմʯ w"TTFNCMZ%FpOJUJPO͸ɺ
 ͜ͷմΛ࡞ΔͨΊͷઃఆϑΝΠϧ

Slide 19

Slide 19 text

19 Կ͕خ͍͠ͷʁ Assembly Definition ͱ͸ʁ wίϯύΠϧ࣌ؒͷ୹ॖ wϞδϡʔϧͷૄ݁߹Խʢ෭࣍తʣ

Slide 20

Slide 20 text

20 Assembly Definition ͷجຊ Assembly Definition ͱ͸ʁ w6OJUZͰ௥Ճ w5FTU"TTFNCMJFTͱ͔VOTBGFίʔυ ͱ͔ͷରԠ͸6OJUZ͔Β

Slide 21

Slide 21 text

21 Assembly Definition ͷجຊ Assembly Definition ͱ͸ʁ hoge.asmdef ⚙ hoge.dll 㱺

Slide 22

Slide 22 text

22 Assembly Definition ͷجຊ Assembly Definition ͱ͸ʁ Assets/ ├hoge.asmdef ├Foo.cs └Fuga/ └Bar.cs ⚙ hoge.dll

Slide 23

Slide 23 text

23 Assembly Definition ͷجຊ Assembly Definition ͱ͸ʁ Assets/ ├hoge.asmdef ├Foo.cs └Fuga/ ├fuga.asmdef └Bar.cs ⚙ hoge.dll ⚙ fuga.dll

Slide 24

Slide 24 text

24 ίϯύΠϧ࣌ؒͷ୹ॖʁ Assembly Definition ͱ͸ʁ 㱺

Slide 25

Slide 25 text

ίϯύΠϧ࣌ؒͷ୹ॖʁ Assembly Definition ͱ͸ʁ wεΫϦϓτͷมߋΛݕ஌͢Δͱ
 ౎౓"TTFNCMZ$4IBSQEMMͱ͍͏
 ڊେͳEMMʹίϯύΠϧ͠௚͍ͯͨ͠ w"TTFNCMZ͕෼͔ΕΔͱɺ
 มߋͱ͸ແؔ܎ͳ"TTFNCMZͷ
 ίϯύΠϧ͕ߦΘΕͳ͘ͳΔ

Slide 26

Slide 26 text

26 Ϟδϡʔϧͷૄ݁߹Խʁ Assembly Definition ͱ͸ʁ wࠓ·Ͱ͸୯Ұͷ"TTFNCMZʹ
 શεΫϦϓτؚ͕·Ε͍ͯͨͷͰɺ
 ϥΠϒϥϦ։ൃऀ͕ҙਤ͠ͳ͍
 ࢀরͳͲ΋Մೳͩͬͨ w"TTFNCMZΛ෼ׂ͢Δ͜ͱͰɺ
 ҙਤ͠ͳ͍ࢀরΛߦ͑ͳ͘ͳΔͷͰ
 ݁Ռͱͯ͠ૄ݁߹Խʹܨ͕Δʢ͜ͱ΋͋Δʣ

Slide 27

Slide 27 text

w"TTFNCMZ%FpOJUJPOͱ͸ʁ w"TTFNCMZ%FpOJUJPOͷ࢖͍ํ w"TTFNCMZ%FpOJUJPOͷ5JQT 27 ͓͠ͳ͕͖ ΞδΣϯμ

Slide 28

Slide 28 text

Assembly Definition ͷ࢖͍ํ 28

Slide 29

Slide 29 text

29 .asmdef ϑΝΠϧΛ࡞Δ Assembly Definition ͷ࢖͍ํ

Slide 30

Slide 30 text

30 .asmdef ϑΝΠϧΛ࡞Δ Assembly Definition ͷ࢖͍ํ Ҏ্ɻ

Slide 31

Slide 31 text

31 AD ొ৔લ Assembly Definition ͷ࢖͍ํ •Assembly-CSharp.dll •Assets/**/*.cs •Assembly-CSharp-Editor.dll •Assets/**/Editor/**/*.cs •Assembly-CSharp-firstpass.dll •Assets/Plugins/**/*.cs •Assembly-CSharp-Editor-firstpass.dll •Assets/Plugins/**/Editor/**/*.cs

Slide 32

Slide 32 text

32 AD ొ৔લ Assembly Definition ͷ࢖͍ํ

Slide 33

Slide 33 text

33 AD ొ৔ޙ Assembly Definition ͷ࢖͍ํ •Assembly-CSharp.dll •.asmdef ͕ଘࡏ͠ͳ͍σΟϨΫτϦҎԼͷ *.cs •.dll •Assets/**/.asmdef
 ͱಉ֊૚σΟϨΫτϦҎԼͷ*.cs

Slide 34

Slide 34 text

34 AD ొ৔ޙ Assembly Definition ͷ࢖͍ํ

Slide 35

Slide 35 text

35 AD ొ৔ޙ Assembly Definition ͷ࢖͍ํ

Slide 36

Slide 36 text

36 ґଘ؅ཧ Assembly Definition ͷ࢖͍ํ ͋Δ"TTFNCMZ͸ ଞͷ"TTFNCMZͷ ΫϥεΛඞཁͱ͢Δ ґଘ

Slide 37

Slide 37 text

37 ґଘ؅ཧ Assembly Definition ͷ࢖͍ํ

Slide 38

Slide 38 text

w"TTFNCMZ%FpOJUJPOͱ͸ʁ w"TTFNCMZ%FpOJUJPOͷ࢖͍ํ w"TTFNCMZ%FpOJUJPOͷ5JQT 38 ͓͠ͳ͕͖ ΞδΣϯμ

Slide 39

Slide 39 text

Assembly Definition ͷ Tips 39

Slide 40

Slide 40 text

40 Editor Assembly Tips •UnityEditor Λࢀর͢Δ"TTFNCMZ wϏϧυʹ͸ؚΊͨ͘ͳ͍
 ʢͱ͍͏ؚ͔ΊΔͱΤϥʔʹͳΔʣ

Slide 41

Slide 41 text

41 Editor Assembly Tips

Slide 42

Slide 42 text

42 Test Assembly Tips •NUnit Λࢀর͢Δ"TTFNCMZ w௨ৗͷ"TTFNCMZ͸NUnitͷࢀরෆՄ

Slide 43

Slide 43 text

43 Test Assembly Tips

Slide 44

Slide 44 text

44 unsafe ίʔυ Tips

Slide 45

Slide 45 text

45 unsafe ίʔυ Tips wVOTBGFͳίʔυ΋औΓѻ͑Δ wJM$QQ4FU0QUJPOͱ͔࢖͏৔߹͸ɺ
 ผ్ࢀরઃఆΛߦ͏ඞཁ͕͋Δ

Slide 46

Slide 46 text

46 .NET Framework Version Tips w/&5ͷόʔδϣϯ͸ݸผબ୒Ͱ͖ͳ͍ wProjectSettings.assetͷઃఆʹґଘ͢Δ wόʔδϣϯΛݻఆ͍ͨ͠৔߹͸
 "TTFNCMZ%FpOJUJPOΛ࢖Θͣʹ
 ࣗલͰEMMίϯύΠϧ͢Δ͔͠ແͦ͞͏

Slide 47

Slide 47 text

47 AssemblyDefinition × AssetBundle Tips w"TTFU#VOEMFΛ༻͍͍ͯΔ৔߹ɺ
 ͪΐͬͱ࿩͕ϠϠίγΫͳΔ w"%Խ͢Δͱɺ4DFOFͳͲͷ"TTFU͕ࢀর͢Δ
 $PNQPOFOU΍4DSJQUBCMF0CKFDUͷ
 "TTFNCMZ৘ใ͕มԽ͢ΔίτʹͳΔ wجຊతʹ"TTFU#VOEMFͷ࠶ߏங͕ඞཁ wϒϩάॻ͍ͨͷͰɺ࢔ࡉ͸ͦͪΒΛ͝ࢀর͍ͩ͘͞

Slide 48

Slide 48 text

48 static Ϋϥεɾϝιου Tips w௚઀తʹ࢖͍ͬͯͳ͍ϋζͳͷʹ
 ʮͦͷ"TTFNCMZࢀরͰ͖ͳ͍Αʂʯ
 ΤϥʔͰౖΒΕΔ͜ͱ͕͋Δ w͜Ε͸ɺ਌ΫϥεͷTUBUJDϝιουΛ
 ࢀর͍ͯ͠Δ৔߹ͳͲʹى͖͕ͪ

Slide 49

Slide 49 text

•class Hoge : SingletonMonoBehaviour {} •Hoge.Instance; w͜Ε͸࣮࣭తʹ͸ SingletonMonoBehaviour.Instance Λ
 ࢀর͍ͯ͠ΔͷͰɺ
 SingletonMonoBehaviourؚ͕·ΕΔ
 "TTFNCMZ΁ͷࢀর͕ඞཁʹͳΔ 49 static Ϋϥεɾϝιου Tips

Slide 50

Slide 50 text

50 partial Ϋϥε Tips w$ʹ͸QBSUJBMͱ͍͏ɺΫϥεͳͲͷ
 ఆٛΛ෼ׂͰ͖ΔΑ͏ͳ࢓૊Έ͕͋Δ w͜Ε͸ɺಉҰ"TTFNCMZ಺ͰͷΈ༗ޮ w"TTFNCMZΛ෼ׂ͢ΔͱQBSUJBMఆ͕ٛ
 ޮ͔ͳ͘ͳΔͷͰ஫ҙ

Slide 51

Slide 51 text

51 -batchmode Tips w$*ͳͲΛ͢ΔࡍʹඞਢʹͳΔҾ਺ wԿΒ͔ͷ৚݅Ͱ"TTFNCMZ͕࠶ίϯύΠϧ͞ Εͳ͘ͳΔ͜ͱ͕͋Δ w.JTTJOH4DSJQUTతͳΤϥʔ͕େྔൃੜ wݪҼෆ໌͕ͩ6OJUZͷόʔδϣϯΛ
 ੾Γସ͑ͨΓ͢Δͱ௚Δίτ͕ଟ͍

Slide 52

Slide 52 text

w5IFBTTPDJBUFETDSJQUDBO OPUCFMPBEFEʜ
 ͱ͔ݴΘΕΔ wCBUDINPEFͷιϨͱ͍ۙʁ wݪҼෆ໌ w௚͠ํ͸6OJUZͷ
 όʔδϣϯΛ੾Γସ͑ͯىಈ w 52 εΫϦϓτണ͕Ε Tips

Slide 53

Slide 53 text

·ͱΊ 53

Slide 54

Slide 54 text

w"TTFNCMZ%FpOJUJPOΛ༻͍Δͱ
 ίϯύΠϧ͕଎͘ͳΔʢ͔΋ʣ wͪΐͬͱΫη͕ڧ͍͚Ͳ
 ࣮༻Ϩϕϧʹ͸ୡͯ͠Δ 54 ·ͱΊ

Slide 55

Slide 55 text

Appendix 55

Slide 56

Slide 56 text

wࠓ೔͓࿩ͨ͠͠಺༰ͷαϯϓϧΛ (JU)VCʹެ։͓ͯ͠Γ·͢ w IUUQTHJUIVCDPNNPOSZ"TTFNCMZ%FpOJUJPO@4BNQMF 56 ͓·͚

Slide 57

Slide 57 text

57 Thank you for your attention!!