Search Unity

プロジェクト管理は進化しています – Unity Package Manager の概要

, 5月 4, 2018

Unity 2017.2 では、Package Manager が導入されました。これは、Unity で開発された新しい機能をみなさんのプロジェクト内で動的に読み込みと更新ができる API を伴うモジュールシステムです。Unity 2018.1 では、新たにリリースされた Package Manager User Interface、Hub、Project Templates でさらに一歩前進し、より迅速に効率的に新しいプロジェクトを開始できるよう支援します。

中心となる機能は以下の通りです。

  1. Unity Hub:現在ベータ版です。プロジェクトや Unity エディターのインストールを簡単に管理できます。
  2. Unity Package Manager UI:エディターから独立して、Unity によって作成された機能を探し更新する新しい方法を提供します。Unity Package Manager UI は現在、Unity エディター (2018.1 以降) に同梱されています。
  3. Package Repository:Unity が所有し運営するコンテンツリポジトリ。現在、Unity で作成されたパッケージしか格納されません。

Package Manager UI

Unity Package Manager UI によって、プロジェクトワークフローを以下のように向上させることができます。

  • Unity の新機能へのクイックアクセス:使用中のバージョンのエディターで利用可能な機能のリストをブラウズし、それらをクラウドからダウンロードします。パッケージは動的に、即座にプロジェクトに加えられます。パッケージの読み込みは、最適なオンライン/オフラインのユーザー体験のためにエディターのローカルキャッシュが使用されます。
  • 最新の修正を即座に入手:プロジェクトにインストールしたパッケージに利用可能なアップデートを素早く確認します。更新はクラウドからダウンロードされ、リクエストすると即座にプロジェクトに適用されます。
  • プレビュー機能へのアクセス:今後リリース予定の Unity の機能の多くが、プレビュー版になり次第 Package Manager UI からダウンロード可能です。
  • 軽量プロジェクト:Unity のパッケージはマシンのグローバルキャッシュに保存され、プロジェクトによって参照されます。プロジェクトを共有する際に、パッケージを共有する必要はありません。なぜなら、エディターが、必要なパッケージをプロジェクトマニフェストのクラウドレポジトリからフェッチするからです。

今後の予定

今後のリリースでは、Unity Package Manager はアセットストアと従来の .unitypackage フォーマット、両方で機能する予定です。当分の間、Unity のパッケージは Unity で構築された機能用に開発されます。そうすることで、みなさんの開発サイクルのすべての段階でシームレスなインテグレーションを保証できる信頼性の高いツールと効率的なプロセスを構築することができるからです。

多くの Unity の機能は公式の Unity ビルドとは別に配布されているため、すべてを見つけだすのは困難です。それらは、おそらくアセットストア、Unity フォーラム、GitHub などにあります。

今後は、このようなオフサイクルの公式機能が Package Manager によるエコシステムで検出可能になり、管理され、アセットストアのコンテンツと Unity がパブリッシュするエディター機能を通して統一された形式で提供されるようになります。

是非、Package Manager の最新のニュースを追跡し、フォーラム のディスカッションにご参加ください。

18 コメント

コメントの配信登録

コメント受付を終了しました。

  1. Kimmo Keskinen

    5月 13, 2018 10:15 am

    Blocking issues for using Package Manager to replace unitypackages as a developer:

    I was just looking at the Package Manager for a project of mine that has been previously using TextMesh Pro unitypackage version and I immediately hit what seems to be a real snag if I ever wanted to use Package Manager for anything I already have in as a unitypackage import: upgrading to/replacing with the Package Manager version loses all references. After removing the unitypackage import and installing the package manager version all Scenes with TMP_Text Components were broken (“Missing Behaviour” on all previously text labels). My project also had a bunch of TextMesh Pro FontAssets (ScriptableObject assets) generated and stored, and they were now similarly broken.

    A) Broken references for Components, “Missing Behaviours”: These could be fixed, but Package Manager scripts ARE NOT FOUND in the list if you click the round button next to “Missing Behaviour” component’s script field and attempt to re-reference TextMeshPro_UGUI or something similar. Apparently Package Manager scripts are not in your Assets and hence cannot be found in the picker.

    B) ScriptableObjects, like TextMesh Pro FontAssets: Their case is even worse. ScriptableObject instance assets don’t allow for reselecting anything in the script field of the Inspector, even if you change to debug Inspector, and all assets would have to be built from ground up. I can’t see myself going through that; if I have multiple font atlas assets created during a long period of time in the past, I cannot remember their settings and rationale for them anymore. On top of that FontAssets are slow to recreate, both in setup considerations and processing time for Signed Distance Field rendering fonts.

    I love the concept of Package Manager, but these are some of the issues I can already tell are blockers and stop me from changing over before they are solved in some way.

    1. You can google like 5 minutes and find, that Text Mesh Pro has Project Files GUID remapping tool for that.

  2. Charlie Keller

    5月 11, 2018 12:47 pm

    It would be terrific if the Unity package manager integrated with quality store accounts. it’d build version management a full heap nicer and cleaner if somebody cloned a project repo and every one they’d to try to get a prompt to transfer the third party packages. writing a dissertation abstract

  3. Daniel Cruise

    5月 9, 2018 3:16 pm

    Now I saw the overview it just amazing hat you guys have started a community because this will be helpful for my startup in which we develop games and apps and software applications.!

  4. We are sometimes forced to use patch releases. I couldn’t find and install those from Unity Hub.

    Regarding the package manager – definitely a great move! Going to play with it and with 2018.1 soon :)

  5. Unity Hub is awesome!

  6. So, when are we going to be able to add our own custom repositories with our own packages so we can move away from in house package management solutions?

    1. Jeremy Batts

      5月 8, 2018 9:32 pm

      Upvote!

    2. This. Being able to manage dependencies without copy+paste would be great.

  7. Great feature. I think will be better with manage asset store and our own packages.

  8. Ignis Incendio

    5月 5, 2018 7:26 pm

    What does it mean that .unitypackage is legacy? What’s the replacement?

  9. Mahdi Jeddi

    5月 5, 2018 12:59 pm

    I hope it’s possible to roll back to older versions. Sometimes you update to a new version that has a critical bug or incompatibility, you’re near launch and can’t wait for a fix. I think this is possible by editing the manifest files, right?

    1. If I recall correctly, you are now able to explicitly choose the version of a package you want from a dropdown. It was just added.

  10. I wanted to use Unity Hub to download & upgrade the 2018.2.0b2 to 2018.2.0b3 but it doesn’t allow option to remove the previous beta, to select the folder to download to, or to select the folder to install to that i could find.

  11. Can we access things not yet exposed in the Package Manager UI through the Package Manager API?

    For example, the documentation on https://docs.unity3d.com/Packages/com.unity.package-manager-ui@1.8/manual/index.html mentions modifying a package.json file. Even if the UI does not yet support it, is there some way to use the Package Manager API to use any *.unitypackage with a well formed package.json?

    1. To do this modify a project’s manifest.json to use a relative link to the project, ie “com.lms.boundingvolumes”: “file:../../CustomPackageTest/lmsBoundingVolumes”

      How to do this was linked to in the forum (https://forum.unity.com/forums/package-manager.150/) at the bottom of this blog post. Here’s the link to LotteMakesStuff’s gist on local packages: https://gist.github.com/LotteMakesStuff/6e02e0ea303030517a071a1c81eb016e

  12. Electromantis

    5月 4, 2018 11:53 pm

    It would be terrific if the Unity package manager integrated with asset store accounts. It would make version control a whole lot nicer and cleaner if someone cloned a project repo and all they had to do was get a prompt to download the 3rd party packages.

    1. Richard Fine

      5月 5, 2018 1:34 am

      We agree! We want to focus on making everything work smoothly for the packages that we’re publishing ourselves first, but after that’s all working nicely, there are many exciting possibilities.