unityで自作カスタムパッケージを作ってPackagesフォルダに入れてみたメモ

Unity

バーチャル3Dクリエイター神部まゆみです(*^-^*)

 

この記事はunityで自作カスタムパッケージを追加してみたからそのメモ。

自分用備忘録程度なので、一から学びたい人は他の先輩の記事を見たほうがいいかも(;^_^A

なぜやろうと思ったか

Packagesフォルダに自作スクリプトを入れたかったから。

unity WebXR exportのスクリプトを参照しようとしたら、Packagesフォルダに入っているからか最初のusingのところでエラーが出た。

ちなみにWebXR exportについては以前こちらで書きました。

unity-webxr-exportでブラウザでWebVR!LookAnimatorでVRoidモデルとVR空間で遊べたよ
バーチャル3Dクリエイター神部まゆみです(*^-^*) 前回の続きで、unity-webxr-exportをいじって、Oculus Quest2でWebVRを動かして行こうと思うよ。 前回の記事はこちら。 ...

エラーはこれね↓

そもそも参照できてないっぽい?んだけど、asmdefファイルを作って参照を設定して見たけどダメだった。

調べたらAssetフォルダ内のスクリプトからだと、Packagesフォルダ内のスクリプトは参照できないっぽい?設定次第なのかもしれないけど。

強引にPackagesフォルダにドラッグアンドドロップしてファイルを入れようとしたけど、Assetフォルダに強制送還された。

パッケージマネージャーから自作パッケージを入れればPackagesフォルダに入れられるみたいなので、試してみたかったのが理由。

やってみた手順

こちらの先輩のページが参考になりました。

ありがとうございます(*^-^*)

Unity Package Managerに自作Packageを登録する方法 - Synamon’s Engineer blog
Unity2018で新しく追加されたパッケージマネージャー。2018年5月現在、自分で作ったアセットをパッケージとして管理する事は出来ませんが、裏技的な方法で半分くらいは目的を達成出来るようなので、やり方を纏めてみました。

Assetフォルダ外に、パッケージに含めたいフォルダを作る

これAssetフォルダ内に作ったら、パッケージマネージャーでインポートする時にエラーが出た(~_~;)

AssetフォルダとPackagesフォルダに同じファイルができてしまうことが原因かな?

とりあえずデスクトップにフォルダ作っておいた。

※追記:後述するけどPackagesフォルダ内に作ったほうが良さそうです(;^_^A

 

とりあえずできるか試したいだけだから中身は適当。

自作スクリプトと、後述するjsonファイルと参照のためのasmdefファイルが入ってます。

jsonファイルを作る

これさえ作って置けば、パッケージマネージャーのadd diskから追加できるみたい。

とりあえず先輩のページに書いてあるまんまのやつをコピペしてみます。

unityのバージョンは違うから書き換えたほうがいいけど、とりあえずできるかのテストなので(;^_^A

パッケージマネージャーからインポートしてみる

パッケージマネージャーを開いて、Add package from diskを選び、jsonファイルを指定すればOK。

これでパッケージとして追加されていた!

manifest.jsonには勝手に追加されていた

先輩のページだと2018では手動で追加しないといけなかったみたいだけど、勝手に追加されていた。

自作パッケージには後からファイル追加できるみたい?

これ他のPackages内のフォルダだと、「作成」メニューがグレーになっててファイルを追加できなかったんだけど(↓はTerrainの例)、

自作パッケージ内だと普通に追加できるっぽい。

これでPackagesフォルダにファイルを入れられるようになったから、一個作って置くと便利かな?

追記:デスクトップからフォルダを削除したらエラーが出たので、Packagesフォルダに移した(;^_^A

その後、デスクトップに置いたP-testフォルダを削除したらエラーが出てしまった( ̄▽ ̄;)

一度入れたらプロジェクト内に自動でコピーを作成してくれるのかと思ってたけど、そうじゃないみたいです(;^_^A

unityマニュアルによると「Packagesフォルダー内にパッケージのために新しいサブフォルダーを作成します」って書いてあるから、この通りにした方が良さそう。

カスタムパッケージの作成 - Unity マニュアル
Unity Package Manager は Unity 公式のパッケージ管理システムです。以下を行います。

 

Packagesフォルダに移動させたけど、特にエラーもなく移動できた。

おわりに

とりあえずこれでエラーが消えて、WebXR exportのスクリプトを参照できるようになった。

Oculus Quest2のスティック入力を取得して移動するところまでできたけど、後で記事にするかもしれない。

 

C#は最近いじってなかったけど、実際に動くと凄く楽しいからもっと勉強してみようかな。

特にVRで動作確認すると報われた感が高いですね(;^_^A

 

タイトルとURLをコピーしました