UnityPackageArchiver は Unity を利用せずに.unitypackage のフォーマットに圧縮・展開ができる PowerShell のモジュールです。
ubuntu・windows・macos で動作することができ、CI/CD でも利用できます。
- PowerShell 6 or newer
- tar コマンド
PowerShell で以下のコマンドを実行します。
$ Install-Module -Name UnityPackageArchiverPowerShell Gallery : UnityPackageArchiver
サンプルコードはこちらにあります。
以下のコマンドを実行することで.unitypackage を展開することができます。
$ Expand-UnityPackage -UnityPackagePath "./path/to/package.unitypackage" -OutputDir "./output/directory"以下のコマンドを実行することで.unitypackage に圧縮することができます。
$ Compress-UnityPackage -OutputFilePath "./path/to/output.unitypackage" -TargetFiles "./path/to/Assets/MyAsset.prefab", "./path/to/Assets/MyScript.cs"-TargetFiles には 含めたい Assets ディレクトリ以下のファイル一覧を記述します。また.meta ファイルを指定しても無視されるので注意してください。
また preview.png には対応していません。preview.png はアセットストアのウェブサイトに表示されるサムネイルです。実用上は特に問題はありません。
name: Sample
on: workflow_dispatch
jobs:
sample:
name: Sample
runs-on: ubuntu-latest
steps:
# for checkout Sample Data
- name: check out
uses: actions/checkout@v4
- name: Use Expand-UnityPackage
uses: hanachiru/UnityPackageArchiver/Expand-UnityPackage@main
with:
unity-package-path: "./Tests/Data/Expand/Input/sample.unitypackage"
output-dir: "./Tests/Data/Expand/Output"
- name: Use Compress-UnityPackage
uses: hanachiru/UnityPackageArchiver/Compress-UnityPackage@main
with:
output-file-path: "./Tests/Data/Compress/Output/Sample.unitypackage"
target-files: "./Tests/Data/Compress/Input/Assets/Prefabs/GameObject.prefab, ./Tests/Data/Compress/Input/Assets/Scenes/SampleScene.unity, ./Tests/Data/Compress/Input/Assets/Scripts/Sample.cs, ./Tests/Data/Compress/Input/Assets/Scripts/Editor/SampleEditor.cs, ./Tests/Data/Compress/Input/Assets/Sprites/logo.png, ./Tests/Data/Compress/Input/Assets/Sprites/note.pdf"サンプルコードはこちらにあります。
