For assets that have multiple versions submitted, Unity will sometimes install the wrong version.
The asset store allows multiple versions of an asset to be uploaded with different versions of Unity, ostensibly to support compatibility with API changes or functionality. But if you already have a copy of the asset downloaded, it will install that version – no matter which version of Unity you are running.
For example, if an asset has 2 versions uploaded - one for 2019 and one for 2018. I’m attempting to test something with the 2019 build from the asset store, but I’ve already downloaded the 2018 version. When I go to import the asset, it automatically imports the 2018 one. There is no way I can see to tell it to redownload or select the build.
There is also no indication of which version you have or are installing anywhere in the UI.
The same thing will also happen in reverse – it will install the version of the package built for 2019 even if you’re running 2018, if that’s what you have downloaded.
I believe Unity is addressing this in the Unity 2020 move to Package Manager. In the meantime, yes, it’s annoying. You used to be able to redownload from the My Assets section of the Asset Store window. For now, as you may already be aware, you can delete the downloaded version from the Asset Store cache folder (e.g., C:\Users[user]\AppData\Roaming\Unity\Asset Store-5.x on Windows) so you can download it again in your current Unity version. Again, it’s not great, but it’s what we have for now until everything moves to Package Manager.
Deleting the cached asset is what was ultimately necessary.
I just don’t know why Unity even offers the ability to supply multiple builds, if they don’t actually support it? A simple “redownload” button would suffice.
I’m looking forward to the Package Manager, but unfortunately, I still need to support older versions of Unity.
I have a similar issue in 2020.1.2, I like to keep my assets updated and downloaded even if I am not using them, I have a lot.
I liked the old asset store which lists all that needed updated and I just went down my list, now of course it is all integrated into the Package Manager.
What I am finding is that the Package manager doesn’t seem to know if there is a new version, and has no Filter for all needing updates.
e.g. VR Interactive Framework has updated to Version 1.5 and the Asset store indicates this, but the Package manager shows the latest version as 1.4 and the Download button is greyed out, am I missing something.
This is constantly happening to me with Rewired. I’m using 2019.4, but Unity imports the 2020 version every single time, even when I’ve previously only had 2019 versions of the plugin installed. It even did it before I ever had a 2020 version of Unity on my computer.
Deleting the cache files doesn’t help. Unity 2019.4.x is downloading the 2020 asset when downloaded with the package manager. Unity has been aware of this problem for months (because I reported it) but has yet to commit to a fix. Every single one of my customers using 2019 has to get the asset directly from me because Unity’s package manager is just plain broken.
I somehow got it to work, but I can’t for the life of me remember how. It sort of just worked one day. Thanks for the link. I think for now, I’m just going to avoid updating unless I’m in between projects, or run into a bug fixed by an update. Which is usually what I do, but when I was getting support for something else, the support form said using latest version was required, so I just updated without thinking too much about it.
I wasn’t trying to throw shade at Rewired specifically. I think Rewired is just the only plugin I have that warns me when I’m using the wrong version.
That’s interesting. I haven’t been able to get it to work even once.
I have a feeling this is happening to a lot of other assets as well. The problem is, serialized data (scenes, game objects, etc.) saved in Unity 2020 isn’t guaranteed to work in Unity 2019 and will likely break a lot of things. Rewired warns about it because the DLLs are built with references to Unity 2020’s libraries, but when run in Unity 2019, there’s no guarantee the signatures will be the same, causing exceptions, etc. It would probably work, but you never know when they do a major update. I added that warning because of lots of issues even before the package manager bug with people having multiple versions of Unity installed, downloading the asset from the asset store (all versions of Unity share the same cache folder), then accidentally installing the version of Rewired made for a newer version of Unity into and older Unity. I do recall some breaking issues around the 2017 time period because of some API changes in the PS4 API at that time.
Unity fixed the issue yesterday. It was a backend server bug so the fix shouldn’t require an update. You will need to delete the package from the asset store download cache folder though and download it again.
Same problem here. Trying to update all the Microsplats plugins to the latest version (3.8.5) in Unity 2019.4.9
Asset Store window appears to download the latest version, but the Package Manager then reports three of them to be 3.795.0 and one to be 3.8.4 - this seems accurate because once imported I get a dependency error (the 3.8.4 plugin relies on the 3.8 core)
But the Package Manager won’t let me update them. If I delete the cached plugins and THEN look in Package Manager, it lists the latest versions. Then when I download them in Package Manager the version changes back to 3.795.0
While I’m here, who decided it was smart to partial-load the package list? I have to click “Load More”, wait 8 seconds, scroll down and repeat SIX TIMES to get down as far as M in my package list, EVERY TIME I GO IN THERE.
I have uploaded a number of asset versions from various Unity versions over the time.
So far the rule on asset import into a given Unity version seemed to work a way that the highest possible asset version got imported, but lower than Unity project version.
When my project version is - say Unity 2020.3 - the right asset version is that uploaded from 2020.2, and not the last version I have uploaded from 2022.1.0. It has just worked for me like that, but recently I have got error reports from a user.
In order to test it I have started a new project in Unity 2020.3 and then the last version of the asset, uploaded from 2022.1.0 and dedicated for >= 2022.1.0 got imported instead the right one uploaded from Unity 2020.2.
I had to make a special downloads to enable users to get the right versions.
Possibly this is the case reported by @greay - still unsolved, not adressed in package manager.