0
0

UnityPackageManagerに表示される自作Packageを作るメモ

Posted at

この記事について

※文章が長くなるのでUnityPackageManagerをUPMと略称しています

UPMで管理できる自作Packageの作成から、
GitHubのリポジトリからダウンロードするまでのメモです。
間違っている部分があればコメントにてご指摘頂けると幸いです!

今回作成した自作Package

この記事の対象者

・GitHubのリポジトリ作成など基本操作が出来る方
・SourceTreeを利用して共同開発を行った事がある方
・UPMのadd package from git URLを利用した事がある方

今回の方法でエラーは出ないと思いますが、UPMのGit経由ダウンロードでエラーが出る方はこちらの記事をご確認下さい。

自作Packageの作成手順

分かりやすい記事が既にあるのでリンクを貼っておきます。
今回は自分が躓いた部分の内容を記事に残そうと思います。

自作Package対応で躓いた部分

  • パッケージのレイアウト
    紹介した記事内で説明がありますが、自分はこの部分に少し困惑しました。😓
    これはフォルダーの階層構造を指してます。

https://docs.unity3d.com/ja/2020.3/Manual/cus-layout.html
image.png

つまりUnity上で見た時のファイルの並び順ですね...
何故この部分で困惑していたのか自分でも分からないです.......
図4.png


  • package.jsonに書く内容を間違えたこと

現在のpackage.jsonは以下の内容になっています。

{
  "name": "com.hamster.editor",
  "displayName": "Generate Script Template",
  "version": "1.0.0",
  "description": "Editor extension to create scripts from templates",
  "author": {
    "name": "hamster",
    "email": "hmu3156@gmail.com",
    "url": "https:hamster//github.com/hamster3156"
  },

  "keywords": [
    "editor"
  ],

  "dependencies": {
  }
}

"name"部分をCom.Hamster.Editorのように記述していたのですが、UPMに認識されずエラーが出ました。名前部分は小文字にしないと認識してくれないみたいです。
基本的には上にあるpackage.jsonの内容で問題ないです。


  • package.jsonがルートディレクトリに存在しない時

プロジェクトの最上位のディレクトリの事を指していて、画像だとAssetsが最上位のルートディレクトリになっている事が分かると思います。

図5.png

画像のルートディレクトリだと、下のようになっています。

|-Assets
|  |-GenerateScriptTemplate
|  |-Sample
|  |-Scenes
|  |-この階層にpackage.jsonがない時

上のように、ルートディレクトリにpackage.jsonがない場合、GitHubのHTTPSのリンクを使ってadd package from git URLによるダウンロードをすると画像のようなエラーが出ます。

スクリーンショット 2024-07-26 235849.png

今回自作Packageを行ったフォルダー内を確認すると下のようになっています。
図1.png

|-Assets
|  |-GenerateScriptTemplate
|  |  |-Editor
|  |  |-Templates
|  |  |-CHANGELOG
|  |  |-package.json
|  |  |-README
|  |
|  |-Sample
|  |-Scenes
|  |-この階層にpackage.jsonがない時

ルートディレクトリに存在しないのでpackage.jsonがあるフォルダーのパスをHTTPSのリンクの後に追加する必要があります。

HTTPSのリンクがhttps://github.com/hamster3156/GenerateScriptTemplate.gitだったので、gitの後に?path=ファイルパスを追加する事でこのエラーを解決する事が出来ます。

実際のリンク
図6.png


  • .metaがないとPackageをダウンロードした時にエラーが出る

画像を撮り忘れたので申し訳ないです。自分がUPMでダウンロードした時に、.metaがないファイル、があったのでその時に遭遇したエラーです.metaを含めたら治るエラーなので、Unity上で一度開いて.metaが出たら、そののままリポジトリに上げればエラーを解決する事が出来ます。


  • CHANGELOGLICENSEについて

まず、CHANGELOGについてですが手動で更新する物らしいです。(自分調べ)
自分は上の方で紹介した記事を元に真似して書きました。
図7.png

LICENSEについてですが、利用規約や二次配布関連の事を書くらしいです。
書き方のテンプレートがあるのか、どうか分からないですが自分の場合必要ないと感じたのでファイルに含めていないです。よく分かっていないので有識者の方教えて下さい!

所感

今回も雑記?みたいな内容ベースになりました...
ただ、ファイル構造を今まで意識した事がない事に気付けて良かった気がします。

今回の自作PackageはGitHub上で管理しているので、エディタ拡張をUpdateした時にUPMの更新を押すだけなので便利だな~と思いました。

その他

READMEファイルに書いたリンクを押してUnityPackageをダウンロードする方法
図8.png

リポジトリ内で、Add fileUpload filesからUnityPackageをリポジトリに上げる
図10.png

ファイルが保存されているパスをコピーする
図9.png

リンクを下のような内容に変更する

https://github.com/自分のリポジトリのリンク/raw/main/ファイルが保存されいる場所のパス/ファイル名

READMEファイルに下のように記述するとできます!

[ここを押してください!](上で変更したリンクを貼る)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0