#🚀-package-installer

Package Installer - a .unitypackage that setus up a scoped registry, installs a UPM package and then deletes itself. https://package-installer.glitch.me/

robyer1

I'm actually pretty stumped at how to use this from the doc, I follow the first step of Minimal example – latest version, automatic scope by installing the Addressable Importer in my project.

All I want to do is include some dependencies of Unity official package manager packages in a .unitypackage I am exporting for the asset store. I can't see where to configure the addressable importer to include some packages e.g. I want to make a package importer for my .unitypackage to automatically import XR Interaction Toolkit and OpenXR packages from Unity when imported into a project

robyer1

Maybe, I only just started looking into this today and confused myself. I have imported packages from the Asset store that have had a popup telling me they depend on Packman packages, I might just try to do that through Unity's Asset Store publishing tools where I saw a checkbox for that. Was looking for how to do that or a backup option

hybridherbst

It's been a hacky bandaid by the PackMan team - if you check that option when uploading your entire manifest will be used as a dependency

hybridherbst

It's purely a hack for what should have been proper package support on the AssetStore like, years ago

hybridherbst

Both <#910278632474308618> and <#941390525196566588> give your user a real package to work with and thus you simply define your dependencies in package.json like in other sane environments

robyer1

Any pointers on where to start with what I'm trying to do? Thanks for the quick response also 🙏

hybridherbst

The difference is

  • <#941390525196566588> allows you to specify a package on OpenUPM or elsewhere (from a custom registry) and that will automatically be set up by the installer, which afterwards deletes itself (bit like a self-extracting exe zip archive) (the result is immutable / not editable)
  • <#910278632474308618> allow you to ship a regular .unitypackage but instead of unpacking into Assets, it unpacks into Packages, giving your users a proper package (which is mutable / editable by users)
hybridherbst

Strictly speaking <#941390525196566588> is against Unity's updated Package Terms of Service since it programmatically modifies the user's manifest; we're using both for different packages on the AssetStore actually

robyer1

Well, I need the actual code in my package to be in Assets so Package installer would have been the one

hybridherbst

I'd say "use hybrid packages" but <@272528485732450305> would say "use the installer" 😄 pick your poison

hybridherbst

Generally you should always make sure your code works in whatever folder it is. It shouldn't break just because someone moves it somewhere else

robyer1

If my scripts are in the Package directory I am almost certain some bits will break but I'll test that. Is there anything I can test with hybrid packages yet?

marwi123

Hi <@537848352776388619> could you post this in <#1024686103598477383> please? Thanks

patsy1320

Hi im from Ecuador, someone can help me with this bug? I tried to install the package in the version 6000.0.28 Project has invalid dependencies: com.needle.engine-exporter: Version '' is invalid. Expected one of: a 'SemVer' compatible value; a value starting with 'file:'; a Git URL starting with 'git:' or 'git+', or ending with '.git'.

And nothing works :c