• ShaderLab 85%
  • C# 15%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
MabelAmber b2fc5bd4f0
All checks were successful
Tests / test (push) Successful in 3s
Update LICENSE.md
2026-09-21 15:56:01 -07:00
.forgejo/workflows Update to UnityPackager v2.0.1 2026-09-20 03:02:05 -07:00
_tests_ Update to UnityPackager v2.0.1 2026-09-20 03:02:05 -07:00
bin Update to UnityPackager v2.0.1 2026-09-20 03:02:05 -07:00
action.yml Update to UnityPackager v2.0.1 2026-09-20 03:02:05 -07:00
CHANGELOG.md Update to UnityPackager v2.0.1 2026-09-20 03:02:05 -07:00
LICENSE.md Update LICENSE.md 2026-09-21 15:56:01 -07:00
README.md Add Tests Badge To README 2026-09-19 14:44:30 -07:00

Unity Packager Action

An action wrapper of UnityPackager

Builds a .unitypackage from a folder of assets and their .meta files, allowing you to create Unity Packages without needing Unity itself installed.

Tests

Usage

steps:
  - uses: actions/checkout@v4

  - name: Build package
    id: package
    uses: https://git.weatherelectric.xyz/actions/unity-packager@v1
    with:
      source-dir: PackageAssets
      unity-root: Assets/MyPackage
      output-dir: build
      output-name: MyPackage

  - run: echo "Built ${{ steps.package.outputs.package-path }}"

Inputs

Name Required Default Description
source-dir yes Folder containing the assets and their .meta files
unity-root yes Path the assets install to inside a Unity project, e.g. Assets/MyPackage
output-dir no . Directory to write the package to
output-name yes Package name, with or without the .unitypackage extension
setup-dotnet no true Install .NET with actions/setup-dotnet. Set to false if your runner image already has .NET 10

Outputs

Name Description
package-path Full path of the built package

Notes

  • Every file and folder in source-dir needs a matching .meta file with a valid guid. The build fails and lists any that don't, and also fails if two assets share a GUID.
  • Hidden files and folders (starting with .), names ending in ~, .meta or .tmp, and cvs are ignored, just like in Unity.
  • Keep output-dir outside source-dir. A leftover .unitypackage inside the source folder has no .meta file and will fail the next build.
  • unity-root should start with Assets/ or Packages/. If it does not, Unity will still read it, but it will skip importing, so it builds with a warning.

Supported Platforms

Due to the nature of this using .NET apps, it has to use versions compiled per platform.

I don't own a Mac. I didn't bother compiling for Mac. I can't test on Mac. This will not work on MacOS.

This will only work on Windows and Linux.