ローカルパッケージとしての配布について (Unity)
指定した場所のファイルがそのまま使用され、コピーされない
manifest.jsonにパッケージの場所が書き込まれ、そのまま参照される
tarballが解凍され、Library/PackageCacheに格納される
manifest.jsonにtarballの場所が書き込まれ、PackageCacheが削除された場合は再び解凍される
PackageCacheが削除され、tarballも見つからない場合はエラー
パッケージ更新時、新しいバージョンにないファイルは削除されるか?(要確認)
tarballはAssets以下に置いてもいい
unitypackageにtarballと、manifestへの登録用のスクリプトを入れればいいのでは?
manifestを更新するなら、旧バージョンのtarballはそのまま残しておいてもいい
tarballのパスは絶対パスで書き込まれるため、プロジェクトを移動するとリストアできなくなるので注意
Assets以下の場合も絶対パスになるのか?
tarballをPackageManagerに登録する仕組みについて検討
インストール時以外にも走るのはちょっと嫌かも
インストールが完了したら自身を削除?
パッケージの削除方法は?
普通にPackageManagerから削除してもらう?
AssetsでもVPMでもない場合の戸惑いはあるかもしれない
これを考慮すると、UPMではなくVPMのローカルパッケージとしての配布がいいかもしれない
VPMのローカルパッケージは、UPMのそれと違って直接参照ではなくコピーされる
VCCの管理ファイルに触るインストーラーを作ってもいいかもしれない
vpm dependenciesが空であれば依存性解決を考慮しなくていい
VPMのローカルパッケージについて
VCCのインストールフォルダにあるsettngs.jsonにパスが書き込まれている
userPackageFoldersにリストがある
jsonを直接いじってからVCCやALCOMを起動すると反映された
結局unitypackageでの配布が一番素直な気がしてきた
VCCでやろうとすると、下記のステップが必要
パッケージを解凍してどこかに配置する
VCCに上記の場所をユーザーパッケージとして登録する
VCCからプロジェクトにインストールする
UPMの場合、一般ユーザーがアンインストール方法に迷う可能性がある
ファイル削除をともなうリファクタリングにさえ気をつければunitypackageの方が直感的
更新時に削除させるのも微妙か?
インストール先どうする?
Assets/YourPackageName か Assets/YourCompanyName/YourPackageNameがいいか
Pluginsは使わない方がよさそう
アンインストール時の分かりやすさを考えるとAssets/YourPackageName の方がよさそう
UPM形式のパッケージ名にしておくと他のアセットと区別しやすい?
ツール名が先頭に出ていないと分かりづらいか?
出力アセットをパッケージ名のフォルダに保存する場合、パッケージと間違えて削除してしまう可能性がある
アセットの方をUPM形式の名前にせず区別したとしても、ユーザーからはどちらがアセットでどちらがパッケージなのか分からない