u3d
u3d copied to clipboard
u3d/install doesn't detect 2019 installed modules
@niezbop the complete example:
Of course If I try to run that command again it will install the module again instead of detecting that it's already present.
This is something that we're aware of. Unity has changed quite a lot when going to the hub in the way they register package, and broke the way we detected those packages for newer versions.
So I see it has nothing to do with "U3D_EXTRA_PATHS" or "installation_path" doesn't it?
Do you know when you are going to fix it? It adds an unnecessary build time and we don't want to remove the "u3d" command because we have several nodes on Jenkins and not all of them have installed what we need and we don't want to depend on it.
So I see it has nothing to do with "U3D_EXTRA_PATHS" or "installation_path" doesn't it?
Most probably not.
Do you know when you are going to fix it?
Not sure when, I personally don't have tons of free time right now. It should be fairly simple though so I may have a look at it soon.
As for your Jenkins issue, are you running u3d install ...
before you run any build?
That's right, we run it before we launch a build.
This way it's transparent to us. If it is installed it does nothing and if it is not, it installs it.
So the issue is that u3d doesn't detect the way modules are installed. Our heuristic (based on parsing of ivy.xml files) doesn't support the new packages format.
I have a patch working locally that supports the new format. It will require testing to ensure it works on all platforms.
Looking at this, and just to say that the issue is that even within Unity Hub it's a mess. They have changing module ids and non matching module names in their hub json and the modules.asset directories. It causes problems for hub users as well.
See https://forum.unity.com/threads/installing-unity-through-unity-hub-cli-missing-options-when-installing-modules.780467/
I am trying to find a way to work that is good enough. I will first tackle the fact that we don't have a good support at having the right list of available versions #394
Hey, it's 2024 and I still have this issue. The modules are installed under <UnityEditorInstallation>/Data/PlaybackEngines/ and (at least for most of the modules) should be easy to detect.
Right now on my windows Jenkins agent it reinstalls the modules every time. Which is not too bad as it just adds a minute to the build time. However, on our Mac agent, the install fails because: error: File exists - /Applications/Unity_2021.3.31f1/PlaybackEngines/AndroidPlayer/NDK/simpleperf
This is a pretty big problem. I am about to write a bunch of logic into the Jenkins file to check if modules exist myself and install one by one. Not fun!