Unity ืืื ืคืืืคืืจืื ืฉืงืืืืช ืื ืืจืื ืืื ืืืชืคืชืืช ืื ืืืื. ืขื ืืืช, ืืืฉืจ ืขืืืืื ืื ืขื ืืกืคืจ ืคืจืืืงืืื ืื-ืืื ืืช, ืืชื ืขืืืื ืืืื ืืืืชืงื ืืงืฉืืื ืืฉืืืืฉ ืืืงืืจืืช ื ืคืืฆืื (.cs), ืกืคืจืืืช (.dll) ืื ืืกืื ืืืจืื (ืชืืื ืืช, ืฆืืืืื, ืืืืื, ืืจืืืืืช). ืืืืืจ ืื ื ืืืจ ืขื ืื ืืกืืื ืฉืื ื ืขื ืคืชืจืื ืืงืืจื ืืืขืื ืืื ืขืืืจ Unity.
ืฉืืืืช ืืคืฆืช ืืฉืืืื ืืฉืืชืคืื
ืืฉ ืืืชืจ ืืืจื ืืืช ืืืฉืชืืฉ ืืืฉืืืื ืืฉืืชืคืื ืขืืืจ ืคืจืืืงืืื ืฉืื ืื, ืืื ืืื ืืืฉื ืืฉ ืืช ืืืชืจืื ืืช ืืืืกืจืื ืืช ืฉืื.
1. ืฉืืคืื - ืื ื ืืฉืืคืืื ืืฉืืืื ืืื ืคืจืืืงืืื "ืืื".
ืืชืจืื ืืช:
- ืืชืืื ืืื ืกืืื ืืืฉืืืื.
- ืืื ืืขืืืช ืชืืืช.
- ืืื ืืขืืืช ืขื GUID ืฉื ื ืืกืื.
ืืกืจืื ืืช:
- ืืืืจื ืขื ืง.
- ืืื ืืคืฉืจืืช ืื ืืืื ืืจืกืืืช.
- ืงืืฉื ืืขืงืื ืืืจ ืฉืื ืืืื ืืืฉืืืื ืืฉืืชืคืื.
- ืงืืฉื ืืขืืื ืืฉืืืื ืืฉืืชืคืื.
2.
ืืชืจืื ืืช:
- ืืคืฉืจ ืืขืืื ืขื ืืืงืืจืืช.
- ืืชื ืืืื ืืืืง ื ืืกืื.
- ืืื ืืขืืืช ืชืืืช.
ืืกืจืื ืืช:
- ืืืื ื ืืกืืื ื-Git.
- Git ืื ืืืื ืืืืืืชื ืืงืืฆืื ืืื ืืจืืื - ืชืฆืืจื ืืืืจ ืืช LFS.
- ืืงืจืช ืืืฉื ืืืืืจืื.
- ืงืืฉื ืืฉืืจืื ืืฉืืจืื ืืจืกืืืช ืืืืืจ.
- ืืชื ืืฉืืืืช GUID ืืคืฉืจืืืช ืืืื ืืชื ืืืืช ืืจืืจื ืืฆืืื ืฉื Unity ืืื ืืคืชืืจ ืืืชื.
3. NuGet - ืืคืฆืช ืกืคืจืืืช ืืฉืืชืคืืช ืืืืฆืขืืช ืืืืืืช NuGet.
ืืชืจืื ืืช:
- ืขืืืื ื ืืื ืขื ืคืจืืืงืืื ืฉืืื ื ืชืืืืื ื-Unity.
- ื ืืืื ืืจืกืืืช ืืคืชืจืื ืชืืืช ื ืืืื.
ืืกืจืื ืืช:
- Unity ืื ืืืืื ืืขืืื ืขื ืืืืืืช NuGet ืืืืฅ ืืงืืคืกื (ื-GitHub ืืชื ืืืื ืืืฆืื ืืช NuGet Package Manager for Unity, ืฉืืชืงื ืืช ืื, ืืื ืืฉ ืืื ื ืืืื ืกืื).
- ืงืฉืืื ืืืืืงืช ืกืืืื ืืืจืื ืฉื ื ืืกืื.
4. Unity Package Manager - ืืคืฆืช ืืฉืืืื ืืฉืืชืคืื ืืืืฆืขืืช ืคืชืจืื ืืงืืจื ื-Unity.
ืืชืจืื ืืช:
- ืืืฉืง ืืงืืจื ืืขืืืื ืขื ืืืืืืช.
- ืืื ื ืืคื ื ืืืืคืช ืงืืืฆื .meta ืืืืืืืช ืขืงื ืืชื ืืฉืืืืช GUID.
- ืืคืฉืจืืช ืื ืืืื ืืจืกืืืช.
- ืืืืืช ืืืคืืฅ ืืช ืื ืกืืื ืืืฉืืืื ืขืืืจ Unity.
ืืกืจืื ืืช:
- ืืชื ืืฉืืืืช GUID ืขืืืื ืืืืืืช ืืืชืจืืฉ.
- ืืื ืชืืขืื ืืืืฉืื.
ืืฉืืื ืืืืจืื ื ืืฉ ืืืชืจ ืืชืจืื ืืช ืืืกืจืื ืืช. ืขื ืืืช, ืื ืื ืืืื ืคืืคืืืจื ืขืืฉืื ืืืื ืืืขืืจ ืชืืขืื, ืืืื ื ืชืขืื ืขื ืื ืืคืืจืื.
ืื ืื ืืืืืืช ืืื ืืื
Unity Package Manager (UPM) ืืื ืืื ืื ืืืื ืืืืืืช. ืืื ืืชืืืกืฃ ื-Unity 2018.1 ืืืื ืืฉืืืืฉ ืจืง ืขืืืจ ืืืืืืช ืฉืคืืชืื ืขื ืืื Unity Technologies. ืขื ืืืช, ืืื ืืืจืกื 2018.3, ื ืืชื ืืื ืืืืกืืฃ ืืืืืืช ืืืชืืืืช ืืืฉืืช.
ืืืฉืง Unity Package Manager
ืืืืืืืช ืืื ื ืืืืขืืช ืืืงืืจืืช ืืคืจืืืงื (ืกืคืจืืืช ืื ืืกืื). ืื ื ืืฆืืื ืืกืคืจืืื ื ืคืจืืช %projectFolder%/Library/PackageCache
ืืืื ื ืืฉืคืืขืื ืขื ืืคืจืืืงื ืืฉืื ืืืคื, ืืืืืืจ ืืืืื ืฉืืื ืืงืื ืืืงืืจ ืืื ืืงืืืฅ packages/manifest.json
.
ืืืืืืช ืืืขืจืืช ืงืืฆื ืืคืจืืืงื
ืืงืืจืืช ืืืืื
UPM ืืืืื ืืืฉืชืืฉ ืืืกืคืจ ืืงืืจืืช ืืืืื:
1. ืืขืจืืช ืงืืฆืื.
ืืชืจืื ืืช:
- ืืืืจืืช ืืืืฉืื.
- ืืื ื ืืืจืฉ ืืื ืฆื ืฉืืืฉื.
ืืกืจืื ืืช:
- ืงืืฉื ืื ืืืื ืืจืกืืืช.
- ืืืฉื ืืฉืืชืคืช ืืืขืจืืช ืืงืืฆืื ื ืืจืฉืช ืืื ืื ืฉืขืืื ืขื ืืคืจืืืงื.
2. ืืืืจ Git.
ืืชืจืื ืืช:
- ืื ืื ืฉืืชื ืฆืจืื ืื ืืืืจ Git.
ืืกืจืื ืืช:
- ืื ื ืืชื ืืขืืืจ ืืื ืืจืกืืืช ืืจื ืืืื UPM.
- ืื ืขืืื ืขื ืื ืืืืจื Git.
3. ืืืืจ npm.
ืืชืจืื ืืช:
- ืชืืื ืืืืคื ืืื ืืคืื ืงืฆืืื ืืืืช UPM ืืืฉืืฉ ืืืคืฆืช ืืืืืืช Unity ืจืฉืืืืช.
ืืกืจืื ืืช:
- ืืจืืข ืืชืขืื ืืื ืืจืกืืืช ืืืืจืืืืช ืฉื ืืืืืืืช ืืืื "-preview".
ืืืื ื ืืื ืืช ืืืืฉืื ืฉื UPM + npm. ืืืืืื ืืื ื ืืื ืืืืืื ืฉืืื ืืืคืฉืจืช ืื ืืขืืื ืขื ืื ืกืื ืฉื ืืฉืื ืืื ืื ืืจืกืืืช ืืืืื, ืืื ืชืืื ืืืืคื ืืื ืืืืฉืง UPM ืืืงืืจื.
ืืชื ืืืื ืืืฉืชืืฉ ืื ืืืืืจ npm
ืืงืืช ืืกืืืื
ืจืืฉืืช ืืชื ืฆืจืื ืืืชืงืื
ืืฆืืจืช ืืืืื
ืืื ืืืฆืืจ ืืืืื, ืขืืื ืืืงื ืืช ืืงืืืฅ package.json
, ืฉืืชืืจ ืืืช, ืืกืคืจืืื ืขื ืืชืืื ืฉื ืืืืื ืื. ืืชื ืฆืจืื ืืขืฉืืช ืืช ืืคืขืืืืช ืืืืืช:
ืขืืืจ ืื ืกืคืจืืืช ืืคืจืืืงื ืฉืื ื ืจืืฆืื ืืืฆืืจ ืืืืื.
ืืคืขื ืืช ืืคืงืืื npm init ืืืื ืืช ืืขืจืืื ืื ืืจืฉืื ืืืืื ืืื-ืฉืื. ืขืืืจ ืฉื, ืฆืืื ืืช ืืฉื ืืคืืจืื ืชืืื ืืคืื, ืืืฉื com.plarium.somepackage.
ืืื ืืืฆืื ืื ืืืืช ืืช ืฉื ืืืืืื, ืืืกืฃ ืืช ืืืืคืืื displayName ื-package.json ืืืื ืืืชื.
ืืืืืื ืฉ-npm ืืืืื js, ืืงืืืฅ ืืืื ืืช ืืืืคืืื ืื ืืจืืฉืืื ืืืกืงืจืืคืืื ืฉืื ืื ื ืื ืฆืจืืืื, ืฉืืื Unity ืื ืืฉืชืืฉืช. ืขืืืฃ ืืืกืืจ ืืืชื ืืื ืื ืืืืื ืืช ืชืืืืจ ืืืืืื. ืืงืืืฅ ืืืืจ ืืืืจืืืช ืืขืจื ืื:
- ืขืืืจ ืื ืกืคืจืืืช ืืคืจืืืงื ืฉืื ื ืจืืฆืื ืืืฆืืจ ืืืืื.
- ืืคืขื ืืช ืืคืงืืื npm init ืืืื ืืช ืืขืจืืื ืื ืืจืฉืื ืืืืื ืืื-ืฉืื. ืขืืืจ ืฉื, ืฆืืื ืืช ืืฉื ืืคืืจืื ืชืืื ืืคืื, ืืืฉื com.plarium.somepackage.
- ืืื ืืืฆืื ืื ืืืืช ืืช ืฉื ืืืืืื, ืืืกืฃ ืืช ืืืืคืืื displayName ื-package.json ืืืื ืืืชื.
- ืืืืืื ืฉ-npm ืืืืื js, ืืงืืืฅ ืืืื ืืช ืืืืคืืื ืื ืืจืืฉืืื ืืืกืงืจืืคืืื ืฉืื ืื ื ืื ืฆืจืืืื, ืฉืืื 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 Package Manager
ืืื ืืืืกืืฃ ืืืืื ืืคืจืืืงื 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, ื ืืกืื ืขื GUID ืชืืืืื ืืืืืืื ืืืืืืืช ืื ืืชืืืกืคื ืืคืจืืืงื.
- ืืืืื ืืื ืคืจืืืงื. ืื ืืขืช ืืืืื โโืืืืื ืืชืืื ืฉืืคืจืืืงื ืืืื ื ืืกืื ืขื GUID ืชืืืืื, ืื ืื ืืกืื ืืืืืืื ืื ืืชืืืกืคื ืืคืจืืืงื. ืขื ืืืช, ื ืืกืื ืืชืืืืื ืืื ืืชืืืื ืืืฉืชืืฉ ืื ืืกืื ืืืคืจืืืงื.
ืืขืืจืช ื ืืกืื ืืคืจืืืงื ืืืืืื
ืื ืชืขืืืจื ื ืืก ืืคืจืืืงื ืืืืืื ืืืื ืฉ-Unity ืคืชืืื, ืืคืื ืงืฆืืื ืืืืช ืฉืื ืชืืฉืืจ, ืืงืืฉืืจืื ืื ืืกืื ืชืืืืื ืืชืืืื ืืืฉืชืืฉ ืื ืืก ืืืืืืื.
ืื ืืฉืื: ืืขืช ืืขืชืงืช ื ืืก ืืคืจืืืงื ืืืืืื, ืชืชืจืืฉ ืืชื ืืฉืืช "ืืืืื - ืคืจืืืงื" ืืืชืืืจืช ืืกืขืืฃ ืืขืื.
ืคืชืจืื ืืช ืืคืฉืจืืื ืืงืื ืคืืืงืืื
- ืืงืฆืื ืืืืฉ ืฉื GUIDs ืืืืฆืขืืช ืืืืืจืืชืืื ืืฉืื ื ืืขืช ืืืืื โโืื ืื ืืกืื ืืื ืืื ืืข ืืชื ืืฉืืืืช.
- ืืืกืคืช ืื ืื ืืกืื ืืคืจืืืงื ืืื ืืื ืืืืงืชื ืืืืืืืช.
- ืืฆืืจืช ืืกื ื ืชืื ืื ืืืืื ืืช ื-GUIDs ืฉื ืื ืื ืืกืื ืืืืฆืืข ืืืืืช ืืขืช ืฉืืืืช ืืืืืืช.
ืืกืงื ื
UPM ืืื ืคืชืจืื ืืืฉ ืืืคืฆืช ืืฉืืืื ืืฉืืชืคืื ื-Unity, ืฉืืืื ืืืืืช ืืืืจื ืืืื ืจืืืื ืืฉืืืืช ืงืืืืืช. ืืืืืฆืืช ืืืชืืืจืืช ืืืืืจ ืืชืืกืกื ืขื ืืงืจืื ืืืืชืืื. ืื ื ืืงืืืื ืฉืชืืฆืื ืืืชื ืฉืืืืฉืืื.
ืืงืืจ: www.habr.com