Home

Awesome

PackageExporter

Easily export a folder of scripts and assets as a local Unity 2018 package for use with the new Package Manager.

Deprecated! Archived!

Since I do not intend to work on this package anymore, I'm putting it in archived mode. I made this back when git support wasn't available for the Unity Package Manager (or at the very least it was an iffy process), when it made more sense to upload your packages to an external package repository. Now, you can do that far easier through git or OpenUPM. For a good tutorial, read this.

I suppose there's use for a Unity extensions that automatically does most of this work, and maybe I'll remake this then using UIToolkit instead of Odin.

Features

Dependencies

How to use

  1. Put the PackageExporter script somewhere in your project, ideally in an Editor folder.
  2. Gather the assets and scripts you want to package in one folder (make sure you add an assembly definition for scripts). You can add subfolders to that folder, just make sure that the Package Exporter asset is at the root.
  3. Add a Package Exporter asset to that folder (right click > Create > Package Exporter).
  4. Fill in the fields and click Export Package!

The package(s) can now be found at the root of your project in a newly created folder called ExportedPackages. The tool will automatically create folders for each package, for each version, and also for each export of the same folder. It should not overwrite a previous export!

In Unity 2018.3 you can add a package to another project by using the + button on the Package Manager window.

<img src="docs/import.gif" width="600">

This will add the package path to the manifest file in the Packages folder in your project root

<img src="docs/path.jpg" width="800">

As you can see it points to a local full path. This is not ideal if you're not the only developer on the project. It does seem that you can use your own npm registry. However that's beyond the scope of this tool (at least for now).

Limitations

Todo

Screenshots

<img src="docs/valid.jpg" width="400"><img src="docs/invalid.jpg" width="400">

Special thanks