ααΌααΈααΈ ααΊααΆαααα·ααΆαα½α αααααααΆααααΆαααΆααααΈααΌαααΆαααΆααααα αΎα α αΎααααα»ααα·ααααααα₯ααααααα αααααΆαααΆαααΆααααα αα αααααααΎααΆααα αααα»αααΆααΆαα½αααΉαααααααααΆα αααΎααααα»αααααααα½α α’ααααα ααα’αΆα αα½ααααααααΆαααααΆααααα»αααΆαααααΎααααΆαααααααααΌαα (.cs) αααααΆααα (.dll) αα·ααααααααααααααα·αααααααα (ααΌαααΆα ααα‘αα αααΌααα ααΆααααα αααΆαα»α)α αα αααα»αα’αααααααα ααΎαααΉααα·ααΆαα’αααΈαααα·αααααααααααΎαααΆαα½αααΉααααααααααΆαααΎαα αααααααα αΆαααααααααααΆαα Unity α
αα·ααΈααΆαααααα ααα αΆαααααΆααααααΆαα ααααααα
ααΆααα·ααΈα αααΎαααΆααα½ααααα»αααΆαααααΎααααΆααααααΆααα½αααααΆαααααΆααααααααααααααααααΆ ααα»αααααα·ααΈααΆαααααααΈαα½ααααΆααα»ααααααααα· αα·ααα»ααα·ααααα·ααααααΆα
1. ααΆαα αααα - ααΎαα ααααααααΆααααΆααααααα "ααααα" α
αααα»α:
- ααΆααααααααΆααααααΆααααααααααααα
- αα·αααΆααααα αΆααΆαα’αΆαααααα
- αα·αααΆααααα αΆααΆαα½α GUIDs αααααααααααααα
αα»ααα·ααααα·:
- ααααΆααααααα
- αα·αααΆαααααααΆαααααααααααααααα
- ααΆαααααΆααααα»αααΆαααΆαααΆαααΆαααααΆααααααΌαα ααααααααΆααααααΆαα αααααααα
- ααΆαααααΆααααα»αααΆαααααΎαα αα α»ααααααααΆαααααΆααααααΆαα αααααααα
2.
αααα»α:
- α’αααα’αΆα ααααΎααΆαααΆαα½ααααααα
- α’αααα’αΆα α ααα αΆααααααααααααααα·α
- αα·αααΆααααα αΆααΆαα’αΆαααααα
αα»ααα·ααααα·:
- ααααΌαααΆααααα·αααααα
- Git αα·αααΆαααΆααα½αααΆαααΆααααΆααααΆαα½αα―αααΆααααααΈααα - α’αααααΉαααααΌαααααΆαα LFS α
- ααΆααααααααααααΆαα αΌαααααΎαααααΆααααααΆααα
- ααΆαααααΆαααΆαα½αααΆαα’αΆααααα αα·ααααααΆαααααα
- ααΆααααααααα·α ααααΆαααα GUID ααΊα’αΆα ααααΎαα ααΆα α αΎααα·αααΆαα’αΆαααααα·αα·ααΆα αααΆααααΆααααΎααααααααα Unity ααΎααααΈαααααααΆαααΆααα
3. NuGet - ααΆαα ααα αΆααααααΆαααα αααααααααΆαααααααα αα NuGet α
αααα»α:
- ααΆαααΆαααΆααααα½αααΆαα½αααααααααααα·αα’αΆαααααααΎααΌααΈααΈα
- ααααααΆααααα½α αα·ααααααααααΆαααΆαα’αΆαααααα
αα»ααα·ααααα·:
- Unity αα·αα’αΆα ααααΎαααΆαααΆαα½ααααα αα NuGet α ααααΈαααα’ααααΆααα (αα ααΎ GitHub α’αααα’αΆα ααααααα NuGet Package Manager αααααΆαα Unity ααααα½ααα»αααΆ ααα»ααααααΆαα ααα»α αα½αα ααα½α)α
- ααΆαααααΆααααα»αααΆαα ααα αΆααααααααααααααααααα
4. αααααα·ααΈααααααααααααα ααααΌααΈααΈ - ααΆαα ααα αΆαααααΆαα αααααααααΆαααααααααααααΆαααΎααααααΆααααΌααΈααΈα
αααα»α:
- α ααα»α αααααΆααααΎααααααΆααααααΎααΆαααΆαα½ααααα ααα
- ααΆαααΆαααΆααααααΆααααΉαααΆααααααααΆααααΎα―αααΆα .meta αα αααα»ααααα αααααααΆαααααΆααααααααα·α GUID α
- ααααααΆαααααααααααααα
- αααααααΆααααα»αααΆαα ααα αΆαααααΆαααααααααααααααααΆααααΌααΈααΈα
αα»ααα·ααααα·:
- αααααα GUID αα ααα’αΆα ααΎαα‘αΎαα
- αα·αααΆαα―αααΆααααααΆααααΆαα’αα»ααααααα
αα·ααΈααΆαααααα α»ααααααααΆααα»ααααααααα·α αααΎαααΆααα»ααα·ααααα·α αααααΆαααΆαααΆααααα ααααααααΆαα·αααΆααααααΆαααα·αααΆαααααΆαααα αααααΆααααααα―αααΆα ααΌα ααααα αΎαααΎαααΉαααααααααααααααΈααΆα±ααααΆααααα’α·αα
αααααα·ααΈααααααααααααα ααααΌααΈααΈ
αααααα·ααΈααααααααααααα ααααΌααΈααΈ (UPM) ααΊααΆα§αααααααααααααααααα ααα ααΆααααΌαααΆααααααααα αααα»α Unity 2018.1 α αΎαααααΌαααΆαααααΎαααααΆαααααααα αααααααααΌαααΆααααααΎαα‘αΎαααα Unity Technologies ααα»αααααα ααααααΆαααΆααααα α αΆααααααΎαααΆαα½αααΉααααα 2018.3 ααΆα’αΆα αααααααααα ααααααΆαααααα½αααΆαα
α
ααα»α
αααααΆαααααααα·ααΈααααααααααααα
ααααΌααΈααΈ
αααα
αααα·ααααα
αααα
αααα»αααααααααααα (αααααΈααααααααααα)α αα½ααααααα·ααα
αααα»αααααΆα
ααααα‘αααα½αα %projectFolder%/Library/PackageCache
α αΎαβαα·αβαααααΆααβαααβααααααβαααα»αβαα·ααΈβααΆβαα½αβα‘αΎα ααΆαβααΎαβα‘αΎαβααβαα½αβαααβααααβαα½αααβαααα»αβααΌαβαααααβααΊβαα
βαααα»αβα―αααΆα packages/manifest.json
.
αααα
αααα
αααα»αααααααααα―αααΆααααααα
ααααααααα αα
UPM α’αΆα ααααΎααααααααα ααααΆα αααΎαα
1. ααααααααα―αααΆαα
αααα»α:
- ααααΏαααααΆαα’αα»ααααα
- αα·αααααΌαααΆαα§αααααααΆααΈααΈααΈααα
αα»ααα·ααααα·:
- ααΆαααααΆααααα»αααααααααααα
- ααΆαα αΌαααααΎαα½αααααΆαα ααΆααααααααααα―αααΆαααΊααααΌαααΆαααΆαααΆααααααΆααα’ααααααααααααΆαααααααΎααΆαααΆαα½αααααααα
2. ααααΆαα Git α
αααα»α:
- α’αααΈαααα’αααααααΌαααΆαααΊααααΆαα Git α
αα»ααα·ααααα·:
- α’ααααα·αα’αΆα ααααΌααααΆαααααααΆαααααααα’α½α UPM ααΆαααα
- αα·αααααΎαααΆαααΆαα½αααααΆαα Git ααΆααα’ααα
3. npm ααααΆααα
αααα»α:
- ααΆαααααααΆαααααααααΌααα»αααΆα UPM αα·αααααΌαααΆαααααΎααΎααααΈα ααα αΆααααα αα Unity ααααΌαααΆαα
αα»ααα·ααααα·:
- αα αα α»αααααααα·αα’αΎααΎααααααααα’ααααααΆααα’αααααααα ααααΎαααααα "-ααΎαααΆαα»α" α
ααΆαααααααααααΎαααΉααα·αα·αααααΎαααΆαα’αα»αααα UPM + npm α αααα αααααααΆαααΆαααΆααααα½α αααααααΆα’αα»ααααΆαα±ααα’αααααααΎααΆαααΆαα½αααααααααααααΆαααΆαα½α αα·αααααααααααααααααα αα ααααααΆααααΆαααααααΆαααααααααΌαα ααα»α αααααΆαα UPM ααΎαα
α’αααα’αΆα
ααααΎααΆααΆααααΆαα npm
ααΆααααα αααα·ααααΆα
ααααΌαα’αααααααΌαααα‘αΎα
ααΆααααααΎααααα αααα½αα
ααΎααααΈαααααΎααααα
ααα’αααααααΌαααΆααα―αααΆα package.json
αααααΉααααααΆααΆαα
ααΆαααααααααΆαααΆαα·ααΆαααααα
αααααα α’αααααααΌαααααΎααΌα
ααΆααααααα
α αΌααα ααΆαααααααααααααααΎαα αααααααΎααααα ααα
αααααΆααααααααΆ npm init α αΎααααα
αΌαααααααααααααΌαααΆααααα»αα’αα‘α»αααααααα’ααα αααααΆααααααα αααααΆααααααααααα»αααααααααααααα
αααΆα α§ααΆα ααα com.plarium.somepackageα
ααΎααααΈααΆααααα½ααααα αΆαααααααααα
αα ααΌααααααααααααααααααααα· displayName αα
package.json α αΎααααααααΆα
αααααΆα npm ααΊ js-oriented α―αααΆαααΆααααααααααααααα·ααααΆαα αα·αααααααΈααααααΎααα·αααααΌαααΆα ααα Unity αα·αααααΎα ααΆααΆααΆαααα’αααααΎαααΆααα»αααΎααααΈαααα½αααΆα ααααΎααααΈαα»αα±αααααααΆαααΆααα·αααααΆαααα ααα α―αααΆααα½αααααΎααα ααΌα αααα
- α αΌααα ααΆαααααααααααααααΎαα αααααααΎααααα ααα
- αααααΆααααααααΆ npm init α αΎααααα αΌαααααααααααααΌαααΆααααα»αα’αα‘α»αααααααα’ααα αααααΆααααααα αααααΆααααααααααα»αααααααααααααα αααΆα α§ααΆα ααα com.plarium.somepackageα
- ααΎααααΈααΆααααα½ααααα αΆαααααααααα αα ααΌααααααααααααααααααααα· displayName αα package.json α αΎααααααααΆα
- αααααΆα npm ααΊ js-oriented α―αααΆαααΆααααααααααααααα·ααααΆαα αα·αααααααΈααααααΎααα·αααααΌαααΆα ααα Unity αα·αααααΎα ααΆααΆααΆαααα’αααααΎαααΆααα»αααΎααααΈαααα½αααΆα
ααααΎααααΈαα»αα±αααααααΆαααΆααα·αααααΆαααα
ααα α―αααΆααα½αααααΎααα
ααΌα
αααα
{ "name": "com.plarium.somepackage", "displayName": "Some Package", "version": "1.0.0", "description": "Some Package Description", "keywords": [ "Unity", "UPM" ], "author": "AUTHOR", "license": "UNLICENSED" }
- ααΎα Unity α αΎααααααΎαα―αααΆα .meta αααααΆαα package.json (Unity αα·αααΎαααααααααααααααααααΆαα―αααΆα .meta αα αααα αααααααΆαα Unity ααααΌαααΆαααΎαααΆαααα’αΆα)α
ααΆαααααΎαααα αααα½αα
ααΎααααΈααααΎαααα
ααα’αααααααΌαααααΎαααΆαααΆααααααααΆα npm publish --registry *Π°Π΄ΡΠ΅Ρ Π΄ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²*
.
ααΆαααα‘αΎα αα·αααααΎαα αα α»ααααααααΆααααα ααααΆαααααααααα·ααΈααααααααααααα ααααΌααΈααΈ
ααΎααααΈαααααααααα αααα½ααα αααααα Unity α’αααααααΌαααΆαα
- αααααααα
α―αααΆα
manifest.json
ααααααΆαα’αααΈααααααααααα ααα ααΎααααΈααααΎααΌα αααα’αααααααΌααααααααααααααααααααα·scopedRegistries
α αΎαα ααα’α»ααααα αΆααα·ααΆαααΆα αα·αα’αΆααααααΆαααααα ααααα·ααΆαααΆαααΆααααΆααααΉαααααΌαααΆααααααααα"scopedRegistries": [ { "name": "Main", "url": "Π°Π΄ΡΠ΅Ρ Π΄ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²", "scopes": [ "com.plarium" ] } ]
- α αΌααα ααΆαα Unity α αΎαααΎααααα’α½α αααααα·ααΈααααααααααααα αα (ααΆαααααΎααΆαααΆαα½ααααα ααααααΆαααααα½αααΊαα·ααα»αααΈααααΎααΆαααΆαα½ααααα αααααααααΆααααααΆαα½ααα)α
- ααααΎαααΎααααα ααααΆααα’ααα
- ααααααααααα αααααα’αααααααΌαααΆα α αΎαααααααααΆα
ααααΎααΆαααΆαα½αααααα αα·αααΆαααααΆααααα α»α
ααΎααααΈα±αααααααααααΆααααΆαα½ααααααα α’αααααααΌααααααΎα
ααΆαααααΎααααΆαααααα αααα·αααααααααααΎαααααΆααααα α»αααααα’αααααα ααααααΆαααΆααααα αα αααααααΎααΆαααΆαα½ααααα αααα αααα»α Unity α’ααααα·αα’αΆα α αΌααα ααΆαα IDE αααα α»α ααΎααα α»ααα αααα»ααα»αααΌα ααααα·αααΎααα α»αααΆαααΎαα‘αΎααα αααα»ααααα αααααα αααααΊαααααΆαααααΆααα·ααααααΆ Unity αα·αααΎαααααααΈαααΆα―αααΆαααΆα ααααα‘αααα α αΆααααΆααααΈαααααααΎ Assembly Definition αα½αααααααΌαααΆααααααΌαα αΌααα αααα»ααααααΆααα α αΎααααα αΌααααα»αααααααα αα αααααααΎααΆαααΆαα½ααααααααΈαααααα ααΆαα α»α αα ααΆαα IDE ααΊα’αΆα ααααΆαα
ααααααΈααα αααα»ααααααααααααΆααααα αααααααΆααα
ααααααΈαααΈαααα
αααααααΆαα
ααα»α
αααααααΎαααΆαα
ααΆααα½ααα»αααΆαααααΆααα αααααααα αα
αααα αα Unity αααααΆααααααααα ααααααααΊααΆαααα’αΆαααα»ααααα ααα»ααααα’αΆα ααααΌαααΆαααααααα½ααα αααα»αααααΆαααααααΆαααααα ααα ααΎααααΈααααΎααΌα αααα’αααααααΌαααΆα:
- α
αΌααα
ααΆαααααα
αααααα»αααααΆαααααααΆαααααα
ααα
- ααααΎααΆαααααΆααααααΌαα αΆαααΆα αα
- ααααΎαα
αα
α»ααααααααΆααααααα
αααα»αα―αααΆα
package.json
. - ααααΎαααα
αα
npm publish --registry *Π°Π΄ΡΠ΅Ρ Π΄ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²*
. - ααααΎαα αα α»ααααααααΆααααααααα αααα αααααααααΆααααααααΌαααΆααααα ααα»α αααααΆαα UPM α
ααααααβααΆαβααΆαα αΌαβαααα αα
ααΆααααααααα·α GUID ααΆααααααα’αΆα ααΎαα‘αΎααα αααααΆαα αΌααααα ααα
- αααα αα - αααα ααα ααααα·αααΎαα αααααΆαα αΌααααα αα ααΆααααΌαααΆαααααααΎαααΆαααα αααααααΆααααααααα½α α αΎαααΆααααααααααααααα·αααααΆα GUID ααΌα ααααΆ αααααααααααααα·αααααΆα GUIDs αααααααΌαααααΆααΈαααα αααααααΆαααΆαα αΌαααΉααα·αααααΌαααΆααααα αΌααα αααα»ααααααααααααα
- αααα ααααΊααΆαααααααα½αα ααααα·αααΎαα αααααΆαα αΌααααα αα ααΆααααΌαααΆαααααααΎαααΆααααααααΆααααααααααααααα·αααααΆα GUIDs αααααααΌαααααΆ ααααααααααααααααα·ααΈαααα ααααΉααα·αααααΌαααΆααααααααα αααααααααααα αααααΆαααΆαααΆααααααααααααααααααα·αααααΉαααα’ααααΎαα½αααΆααΉαα αΆααααααΎαααααΎααααΆαααααααααααααααα·ααΈααααααα
ααΆαααααααααααααααααααα·ααΈαααααααα αααα αααα½αα
ααααα·αααΎα’αααααααααααααααααααααΈαααααααα αααα αααα½α ααααααααα Unity ααΎα αα»αααΆαααααααΆααΉαααααΌαααΆααααααΆαα»α α αΎααααααααΆαααα αααα»ααααααααααααα’αΆαααααααΉαα αΆααααααΎαααααΎααααΆαααααααααααααααα·ααΈαααα ααα
ααααΆααα αα αααα αααααααααααααααααΈαααααααα½ααα αααα αααα½α αααααα "αααα αα - αααααα" αααααΆααα·αααααΆαα αααα»ααααααααΆαααΎααΉαααΎαα‘αΎαα
αααααααααΆααααα’αΆα ααΎαααΆαα αααααααααα
- ααΆαα αΆααααΆαα GUIDs α‘αΎααα·ααααααααΎαααα½ααααααααΆαααααΆαααααα½αααααααΎααα αααααΆαα αΌααααααααααααααα·ααΆααα’ααααΎααααΈαα»αααααΆααααΆααααααααα·α α
- ααΆααααααααααααααααααααα·ααΆααα’αααα αααα»ααααααααα½α α αΎααααααΆαααααααα ααααΆαα ααΆαααα ααα
- ααΆααααααΎαααΌαααααΆααα·αααααααααααΆα GUIDs αααααααααααααααΆααα’αα αα·αααααΎαααΆααα»ααααΆααα αααααααΎαααα ααα
ααα ααααΈααααα·ααααΆα
UPM ααΊααΆαααααααααΆαααααΈαα½ααααααΆααααΆαα
ααα
αΆαααααΆααα½αααααΆαα
αααα»α Unity αααα’αΆα
ααΆαααααΎαααααααα·ααα
αααααα·ααΈααΆααααααααααΆαααααΆααα α’αα»ααΆααααααααΆααα·αααααΆαα
αααα»αα’αααααααΊααα’ααααΎααααΈααΆαααααααα ααΎααααααΉαααΆα’αααααααΎααα½αααΆααΆαααααααααα
ααααα: www.habr.com