バーチャル3Dクリエイター神部まゆみです(*^-^*)
この記事はunityで自作カスタムパッケージを追加してみたからそのメモ。
自分用備忘録程度なので、一から学びたい人は他の先輩の記事を見たほうがいいかも(;^_^A
なぜやろうと思ったか
Packagesフォルダに自作スクリプトを入れたかったから。
unity WebXR exportのスクリプトを参照しようとしたら、Packagesフォルダに入っているからか最初のusingのところでエラーが出た。
ちなみにWebXR exportについては以前こちらで書きました。

エラーはこれね↓
そもそも参照できてないっぽい?んだけど、asmdefファイルを作って参照を設定して見たけどダメだった。
調べたらAssetフォルダ内のスクリプトからだと、Packagesフォルダ内のスクリプトは参照できないっぽい?設定次第なのかもしれないけど。
強引にPackagesフォルダにドラッグアンドドロップしてファイルを入れようとしたけど、Assetフォルダに強制送還された。
パッケージマネージャーから自作パッケージを入れればPackagesフォルダに入れられるみたいなので、試してみたかったのが理由。
やってみた手順
こちらの先輩のページが参考になりました。
ありがとうございます(*^-^*)




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フォルダー内にパッケージのために新しいサブフォルダーを作成します」って書いてあるから、この通りにした方が良さそう。




Packagesフォルダに移動させたけど、特にエラーもなく移動できた。
おわりに
とりあえずこれでエラーが消えて、WebXR exportのスクリプトを参照できるようになった。
Oculus Quest2のスティック入力を取得して移動するところまでできたけど、後で記事にするかもしれない。
C#は最近いじってなかったけど、実際に動くと凄く楽しいからもっと勉強してみようかな。
特にVRで動作確認すると報われた感が高いですね(;^_^A