u3d icon indicating copy to clipboard operation
u3d copied to clipboard

u3d/install doesn't detect 2019 installed modules

Open bdominguez opened this issue 5 years ago • 7 comments

@niezbop the complete example:

image

Of course If I try to run that command again it will install the module again instead of detecting that it's already present.

bdominguez avatar Nov 20 '19 10:11 bdominguez

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.

niezbop avatar Nov 20 '19 10:11 niezbop

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.

bdominguez avatar Nov 20 '19 10:11 bdominguez

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?

niezbop avatar Nov 20 '19 11:11 niezbop

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.

bdominguez avatar Nov 20 '19 11:11 bdominguez

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.

lacostej avatar Nov 21 '19 12:11 lacostej

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

lacostej avatar Feb 20 '20 05:02 lacostej

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!

TWTristan avatar Mar 13 '24 19:03 TWTristan