Git Product home page Git Product logo

install-unity's People

Contributors

sttz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

install-unity's Issues

Unity Hub folder got renamed during install

I know that the rename is intentional but with that, the unity path that all my batch script will stop working during that time. Is there any way to disable this behavior? (I understand that I can use install-unity to open the project but it's not reasonable - I use unity-install to install unity and that's it).

Also, Unity got installed in a non-standard folder, is there any option to let it install in the correct (hub-based) folder with the exact minor version?

Another bug is that when we can not install Unity 2020.3 on a Mac Silicon (M1, M2), considering it's a batch script so checking if a silicon version is available is not very feasible (unity version >= 2021.2)

Running on a virtual machine fail

Hi!

Thanks for developing such great utility!
Though, I'm having troubles using it with a CI system (virtual macOS machine). I'm trying to run it on bitrise.io, but it does fail on a download start.
Here are some logs:

Selected 2018.3.11f1 (5063218e4ab8) for input 2018.3.11f
Selected packages:
- Unity (944.01 MB)
- iOS (1.04 GB)
Will download 1.96 GB and install 5.05 GB
                                                                                HASH Unity ║▏·····························║                                                  0 B of 944.01 MB @       0 B/s
HASH iOS   ║▏·····························║                                                  0 B of   1.04 GB @       0 B/s
The value must be greater than or equal to zero and less than the console's buffer size in that dimension.
Parameter name: top
Actual value was -3.

I'm executing this command:
sudo ./install-unity install 2018.3.11 -y -p Unity iOS

Any ideas what's happening there or how to fix it?

Thanks a lot!

Error when download package without 'unity' package

After download main 3 packages use install-unity.py --download --package-store . 5.6.2f1, but before install them, I want to continue download iOS package use install-unity.py --download -p Unity -p iOS --package-store . 5.6.2f1, it will report error 'ERROR: Could not find a Unity version that matches "5.6.2f2"'

found in sources in line 795: if operation == 'list' or len(packages) == 0 or 'unity' in packages: , need to add or operation == 'download' in it.

Exception when installing 2017.1.0f1

First of all, we are a big fan of your tool, but it stopped working with the new Unity version.

command:

install_unity.py --discover http://beta.unity3d.com/download/4d7fe18a2f34/MacEditorInstaller/Unity-2017.1.0f1.pkg --package Unity 2017.1.0f1 --package iOS --package Android --package WebGL -v

stacktrace:

Password:Traceback (most recent call last):
  File "/Users/wooga/workspace/jenkins/home/jobs/Maintenance/jobs/Update_Unity/workspace/label/master/install_unity.py", line 968, in <module>
    main()
  File "/Users/wooga/workspace/jenkins/home/jobs/Maintenance/jobs/Update_Unity/workspace/label/master/install_unity.py", line 958, in main
    install(version, path, selected)
  File "/Users/wooga/workspace/jenkins/home/jobs/Maintenance/jobs/Update_Unity/workspace/label/master/install_unity.py", line 686, in install
    filename = os.path.basename(config.get(pkg, 'url'))
NameError: global name 'config' is not defined
Install Unity Script 0.0.8

Any ideas?

Best,
Patrick

Unable to specify install path

According to this code:

https://github.com/sttz/install-unity/blob/next/sttz.InstallUnity/Installer/Configuration.cs#L59

I should be able to specify --opt installPathMac=<somepath>. I have been unable to get this to work and get this error:

/usr/local/bin/install-unity --yes install 2019.4.20f1 --packages Unity,iOS,Android --opt installPathMac='Unity.{major}.{minor}.{patch}'
Field value type System.String not yet supported.

I have tried various values for installPathMac but everything throws same error. I also tried going the config.json route but could not figure out how to load config.json.

Could not find any installed versions of Unity, after the download is over

Hey there,

I'm using an M1 Mac server for this, and I'm facing the issue of not finding any installed Unity version when trying to run a project.

So first I installed a specific version using this command:
sudo install-unity install 2021.3.9f1 -p Unity,Documentation --yes

And the output was:

Selected packages:

  • Documentation (350.00 MB)
  • Unity (2.76 GB)

Unity 2021.3.9f1 (ad3870b89536) installed to: /Applications/Unity 2021.3.9f1

but when I try to run install-unity run f it says that

Could not find any installed versions of Unit

Notice that the editor is being installed to its path at /Applications/Unity 2021.3.9f1 but it can't be found automatically.

Getting new releases fails

Probably just needs an update...

No cache found, updating Unity versions list...
Loading Unity releases...
Traceback (most recent call last):
  File "./install-unity.py", line 675, in <module>
    cache = version_cache(script_dir, update_cache)
  File "./install-unity.py", line 171, in __init__
    self.update()
  File "./install-unity.py", line 187, in update
    count = self._load_and_parse(UNITY_DOWNLOADS, UNITY_DOWNLOADS_RE, self.cache['versions'])
  File "./install-unity.py", line 220, in _load_and_parse
    error('Could not load URL "%s": %s' % url, e.reason)
TypeError: not enough arguments for format string

ERROR: Your Python's OpenSSL library is outdated.

Hi,
Could you please help me fix this Travis CI instance at Unity.Test.eppz?
I has just stopped working after I updated install-unity.py.
It says:

Install Unity Script 0.1.1
ERROR: Your Python's OpenSSL library is outdated (OpenSSL 0.9.8zh 14 Jan 2016).
At least OpenSSL version 1.0.1g is required.
You need to install a new version of Python 2 with an updated OpenSSL library.

Either download it from www.python.org or install it using a package manager like Homebrew.

Should I just install a specific Python version?
Or what is exactly I should install with Homebrew?
Could you please suggest me a change to this setup:

os: osx
language: generic
python:
  - 3.6
install:  
  - sudo python .scripts/install-unity.py --package Unity 2017.1.1f1
script:
  - .scripts/test $TRAVIS_BUILD_DIR eppz.TestResult.xml

Can't install 2017.1.0f3?

Thanks for the awesome script! 🎉
Hopefully I can make it work to automate Editor Test runners on Travis CI soon.


But seems I can't install ./install-unity.py --package Unity 2017.1.0f3

Install Unity Script 0.0.9

Found 1 existing Unity installations:
- 5.6.2f1 (/Applications/Unity)

Updating outdated unity versions caches

Trying to select most recent known Unity version
ERROR: Could not find a Unity version that matches "2017.1.0f3"

However, it is released: https://unity3d.com/get-unity/download/archive

LibreSSL not supported

Hello,

Today while deploying unity on some new machine, install-unity.py was stuck because of my version of OpenSSL which was in fact LibreSSL.

I quick-fixed the script so it can accept LibreSSL.

def main():

[...]

match = re.match('OpenSSL (\d+).(\d+).(\d+)(\w+)', ssl.OPENSSL_VERSION)

if not match:
    match = re.match('LibreSSL (\d+).(\d+).(\d+)', ssl.OPENSSL_VERSION)
if not match:
    print 'ERROR: Could not parse OpenSSL/LibreSSL version: %s' % ssl.OPENSSL_VERSION
    sys.exit(1)

[...]

Everything worked just fine.

Add download resume support

Sometimes downloading will be interrupted by some reason, so it is worthwhile to add downloading resumable support.

If you don't have time for it, please tell me, I can do it and send a PR to here.

Add License file

Hello @sttz,

It is a lovely tool 🍻! Would it be possible to add a license file? It is a requirement in our company (Swrve) and we would love to use it to help us install and manage different Unity versions.

Thanks!

Installation Problem

Hi

Nice tool and it is really helpful. But we get this error message when we want to install the unity with package:

"the value must be greater than or equal to zero and less than the console's buffer size in that dimension. Parameter name: top
Actual value was -16."

Have you a idea?

Thanks for your help :)

Best Regards :)

File for package ios not found due to version mismatch

Hi, first off, thanks for this tool, it has been really helpful as I need to manage multiple Unity installations on each of several machines.

It seems that v2.12.0 of this tool is looking for v2023.1.15f1 of (at least) the iOS support package, even though I am trying to install v2020.3.38f1. This did not happen with older versions of the tool. I have previously downloaded this version into my ~/Downloads folder, and can see that the correct version of this file exists at ~/Downloads/Unity-2020.3.38f1/UnitySetup-iOS-Support-for-Editor-2020.3.38f1.pkg, but the tool is nonetheless expecting to find what I can only assume is the very latest version of this file instead.

Here is the full command I'm using to install (on an M2 Pro mac running Ventura 13.5.2)

sudo install-unity --opt downloadSubdirectory='Unity-2020.3.38f1' --opt installPathMac='/Applications/Unity-2020.3.38f1' --yes --data-path ~/Downloads --install --platform mac_os --packages mono,visualstudio,ios,appletv,linux-il2cpp,linux-mono,mac-il2cpp,webgl,windows-mono,lumin,documentation,language-ja,language-ko,language-zh-hans,language-zh-hantm,android,unity Unity-2020.3.38f1

"cannot create extraction directory" when installing android package

when running the following command

echo -e "****\nN" | sudo -S ./install-unity install 2020.3.24f1 --packages Android --data-path "/Users/*******/.jenkins/tools/downloadedFiles/unityInstallers/" --opt "installPathMac=/Applications/Unity_Installations/{major}.{minor}.{patch}{type}{build}" -y

I get the following error

cannot create extraction directory: /Applications/Unity/PlaybackEngines/AndroidPlayer/SDK No such file or directory

what I am trying to do?
When our build pipeline starts I am trying to get the required Unity version installed. I'm dealing with a scenario where unity is already installed, but the android package for unity isn't.

if I run the command with --packages Unity,Android because unity is already installed, it wont progress forward to installing android.

ERROR: local variable 'version' referenced before assignment (on Travis CI)

When I run the script on my MacBook, it is all fine.
But when I run it on Travis CI, it says:

Install Unity Script 0.0.9
ERROR: local variable 'version' referenced before assignment

Maybe you have seen this before, thus can point me to the right direction.
It has setup for Python 2.7 now.

See commands at: https://github.com/eppz/Unity.Test.eppz/blob/master/.travis.yml
See build log at: https://travis-ci.org/eppz/Unity.Test.eppz
(or the raw log here)

Automation: add quiet mode/reduce stdout

I'm trying to manage Unity version on mac hosts via Teamcity. I added build step with command "sudo install-unity -y install %version%" and got next error:

The value must be greater than or equal to zero and less than the console's buffer size in that dimension.
Parameter name: top
Actual value was -5.

Also each time I try to redirect install-unity output using ">" or "less" I get that error.
I was said that the download progress causes it, so I hope it's possible to make a simple output without progress bars/etc.
Thanks.

Can't discover 5.4.3p4

The script won't detect 5.4.3p4, and in fact won't find any patch releases for 5.4.3 at all. It does however show me 5.4.5p4 in the 5.4 series. I didn't quite understand the note in the readme about only discovering the latest 5 patch releases, so maybe this is correct behavior.

Feature request: Get path to Unity.app

I'm planning to use install-unity in a Travis CI pipeline, and I think it's going to work great. Thank you for your time developing it.

It would be nice to have a feature that prints out the path to the Unity.app for a given installed version, like:

$ python2 install-unity.py --path 2018.2.0f2
/Applications/Unity 2018.2.0f2/Unity.app

Ideally, if there is only one Unity installed, it would be possible to omit the version number.

This would roughly parallel brew --prefix python@2 or xcrun --find xcodebuild and make it easier to correctly invoke Unity in batch mode from inside CI scripts without hard-coding the install path.

This is also important because when I install multiple copies of Unity at once, install-unity puts them in different paths depending on what order they are installed in. As a result, if I'm trying to automate setup of a machine, I'll get different results depending on whether Unity was already installed. I need a way to reliably access the path of the version of Unity that my automation installed.

script:
  - "$(python2 install-unity.py --path)"/Contents/MacOS/Unity -quit -batchmode -projectPath . -executeMethod Foo.Bar

Latest release 2018.3.0f2 fails to download

The code I'm running provides this output

install-unity install 2018.3 -p Unity -p iOS -p Android

Selected 2018.3.0f2 (6e9a27477296) for input 2018.3f
VersionPlatformMetadata.iniUrl is not set for macOS
Parameter name: metadata

Installation of iOS build support is broken

Hi there,

I wanted to use your script for installing Unity (with iOS build support) on our CI servers.

Unfortunately, while unity can successfully run, it does not seem to load the iOS Playback Engine and thus it cannot build the player for iOS. On my local machine everything works and I have verified that the packages are correctly installed on the CI server. The iOS dlls are found in the correct folder as well. Additionally, I ran the script twice as well as unity, to ensure that it really is installed and unity had some time to discover them. However, none of that worked.

Unsuccessful build on CI:

[Package Manager] Server::Start -- Port 56302 was selected

 COMMAND LINE ARGUMENTS:
/Applications/Unity/Unity.app/Contents/MacOS/Unity
-quit
-batchmode
-nographics
-username
(hidden)
-password
(hidden)
-serial
(hidden)
-executeMethod
BuildiOS.Build
-logFile
/Users/vsts/agent/2.133.3/work/1/a/build.log
Assertion failed on expression: '!projectPath.empty()'
 
(Filename: /Users/builduser/buildslave/unity/build/Editor/Src/ProjectUtility.cpp Line: 374)


Loading GUID <-> Path mappings...0.000063 seconds
Loading Asset Database...0.017959 seconds
Audio: FMOD Profiler initialized on port 54900
AssetDatabase consistency checks...0.054008 seconds
Refreshing native plugins compatible for Editor in 4.52 ms, found 0 plugins.
Preloading 0 native plugins for Editor in 0.00 ms.
DisplayProgressbar: Unity Package Manager
[Package Manager] Resolving 4 packages:
[Package Manager]  * Package :  [email protected]
    (location: /Users/vsts/Library/Unity/cache/packages/packages.unity.com/[email protected])
[Package Manager]  * Package :  [email protected]
    (location: /Users/vsts/Library/Unity/cache/packages/packages.unity.com/[email protected])
[Package Manager]  * Package :  [email protected]
    (location: /Users/vsts/Library/Unity/cache/packages/packages.unity.com/[email protected])
[Package Manager]  * Package :  [email protected]
    (location: /Users/vsts/Library/Unity/cache/packages/packages.unity.com/[email protected])
[Package Manager] Resolve completed
Initialize engine version: 2017.3.0p2 (b91e4c5f54ad)
Forcing GfxDevice: Null
GfxDevice: creating device client; threaded=0
NullGfxDevice:
    Version:  NULL 1.0 [1.0]
    Renderer: Null Device
    Vendor:   Unity Technologies
Initialize mono
Mono path[0] = '/Applications/Unity/Unity.app/Contents/Managed'
Mono path[1] = '/Applications/Unity/Unity.app/Contents/Mono/lib/mono/2.0'
Mono config path = '/Applications/Unity/Unity.app/Contents/Mono/etc'
Using monoOptions --debugger-agent=transport=dt_socket,embedding=1,defer=y,address=0.0.0.0:56751
Begin MonoManager ReloadAssembly
Initializing Unity.PackageManager (PackageManager) v2017.3.0 for Unity v2017.3.0p2
Registering precompiled unity dll's ...
Register platform support module: /Applications/Unity/Unity.app/Contents/PlaybackEngines/MacStandaloneSupport/UnityEditor.OSXStandalone.Extensions.dll //<- OSX standalone loaded!!!
Registered in 0.000719 seconds.
Refreshing native plugins compatible for Editor in 1.75 ms, found 0 plugins.
Preloading 0 native plugins for Editor in 0.00 ms.
Mono: successfully reloaded assembly
- Completed reload, in  0.980 seconds
Registering platform support modules:
Registered platform support modules in: 0.114629s.
Native extension for OSXStandalone target not found
Begin MonoManager ReloadAssembly
Registering precompiled user dll's ...
Registered in 0.036282 seconds.
Refreshing native plugins compatible for Editor in 1.66 ms, found 0 plugins.
Preloading 0 native plugins for Editor in 0.00 ms.
Mono: successfully reloaded assembly
- Completed reload, in  0.716 seconds
Initializing Unity.PackageManager (PackageManager) v2017.3.0 for Unity v2017.3.0p2
Registering platform support modules:
Registered platform support modules in: 0.0657s.
Native extension for OSXStandalone target not found
Validating Project structure ... 0.018611 seconds.
Refresh: detecting if any assets need to be imported or removed ... Refresh: elapses 0.028040 seconds (Nothing changed)
Warming cache for 347 main assets: 0.001032 seconds elapsed
Initializing Unity extensions:
Unloading 74 Unused Serialized files (Serialized files now loaded: 0)
System memory in use before: 274.7 MB.
System memory in use after: 274.7 MB.

Unloading 42 unused Assets to reduce memory usage. Loaded Objects now: 571.
Total: 1.234061 ms (FindLiveObjects: 0.391822 ms CreateObjectMapping: 0.009332 ms MarkObjects: 0.803785 ms  DeleteObjects: 0.028298 ms)

Error building player because build target was unsupported
 
(Filename:  Line: -1)

Unloading 10 Unused Serialized files (Serialized files now loaded: 0)
System memory in use before: 295.4 MB.
System memory in use after: 295.5 MB.

Unloading 7 unused Assets to reduce memory usage. Loaded Objects now: 2566.
Total: 3.587696 ms (FindLiveObjects: 0.664893 ms CreateObjectMapping: 0.017000 ms MarkObjects: 2.881423 ms  DeleteObjects: 0.023554 ms)

Load scene 'Temp/__Backupscenes/0.backup' time: 0.037881 ms 
Setting up 2 worker threads for Enlighten.
  Thread -> id: 70000d93d000 -> priority: 1 
  Thread -> id: 70000d9c0000 -> priority: 1 
Unloading 0 Unused Serialized files (Serialized files now loaded: 0)
System memory in use before: 295.2 MB.
System memory in use after: 295.3 MB.

Unloading 0 unused Assets to reduce memory usage. Loaded Objects now: 2566.
Total: 3.823746 ms (FindLiveObjects: 0.706092 ms CreateObjectMapping: 0.017084 ms MarkObjects: 3.093664 ms  DeleteObjects: 0.005575 ms)


*** Cancelled 'Build.Player.iOSSupport' in 1 seconds (577 ms)

Batchmode quit successfully invoked - shutting down!
Refresh: detecting if any assets need to be imported or removed ... Refresh: elapses 0.022545 seconds (Nothing changed)
Refresh: detecting if any assets need to be imported or removed ... Refresh: elapses 0.021749 seconds (Nothing changed)
[Package Manager] Server::Kill -- Server was shutdown
Cleanup mono
Exiting batchmode successfully now!

Successful local build:

[Package Manager] Server::Start -- Port 52266 was selected

LICENSE SYSTEM [2018530 18:25:21] Next license update check is after 2018-05-31T15:04:23


 COMMAND LINE ARGUMENTS:
/Applications/Unity/Unity.app/Contents/MacOS/Unity
-quit
-batchmode
-nographics
-username
(hidden)
-password
(hidden)
-serial
(hidden)
-executeMethod
BuildiOS.Build
-logFile
../build.log
Loading GUID <-> Path mappings...0.000325 seconds
Loading Asset Database...0.022694 seconds
Audio: FMOD Profiler initialized on port 54900
AssetDatabase consistency checks...0.110509 seconds
Refreshing native plugins compatible for Editor in 11.35 ms, found 1 plugins.
Preloading 0 native plugins for Editor in 0.00 ms.
DisplayProgressbar: Unity Package Manager
[Package Manager] Resolving 4 packages:
[Package Manager]  * Package :  [email protected]
    (location: /Users/leonardogalli/Library/Unity/cache/packages/packages.unity.com/[email protected])
[Package Manager]  * Package :  [email protected]
    (location: /Users/leonardogalli/Library/Unity/cache/packages/packages.unity.com/[email protected])
[Package Manager]  * Package :  [email protected]
    (location: /Users/leonardogalli/Library/Unity/cache/packages/packages.unity.com/[email protected])
[Package Manager]  * Package :  [email protected]
    (location: /Users/leonardogalli/Library/Unity/cache/packages/packages.unity.com/[email protected])
[Package Manager] Resolve completed
Initialize engine version: 2017.3.0p2 (b91e4c5f54ad)
Forcing GfxDevice: Null
GfxDevice: creating device client; threaded=0
NullGfxDevice:
    Version:  NULL 1.0 [1.0]
    Renderer: Null Device
    Vendor:   Unity Technologies
Initialize mono
Mono path[0] = '/Applications/Unity/Unity.app/Contents/Managed'
Mono path[1] = '/Applications/Unity/Unity.app/Contents/Mono/lib/mono/2.0'
Mono config path = '/Applications/Unity/Unity.app/Contents/Mono/etc'
Using monoOptions --debugger-agent=transport=dt_socket,embedding=1,defer=y,address=0.0.0.0:56919
Begin MonoManager ReloadAssembly
Initializing Unity.PackageManager (PackageManager) v2017.3.0 for Unity v2017.3.0p2
Registering precompiled unity dll's ...
Register platform support module: /Applications/Unity/PlaybackEngines/iOSSupport/UnityEditor.iOS.Extensions.dll // iOS loaded!!!
Register platform support module: /Applications/Unity/Unity.app/Contents/PlaybackEngines/MacStandaloneSupport/UnityEditor.OSXStandalone.Extensions.dll
Registered in 0.002157 seconds.
Refreshing native plugins compatible for Editor in 0.56 ms, found 4 plugins.
Preloading 1 native plugins for Editor in 7.29 ms.
Mono: successfully reloaded assembly
- Completed reload, in  1.420 seconds
Registering platform support modules:
Registered platform support modules in: 0.148566s.
Native extension for OSXStandalone target not found
Native extension for iOS target not found
[XcodeApplications] RefreshListOfAvailableXcodeApplications in: 0.060872s.
Begin MonoManager ReloadAssembly
Registering precompiled user dll's ...
Registered in 0.037055 seconds.
Refreshing native plugins compatible for Editor in 0.57 ms, found 4 plugins.
Preloading 1 native plugins for Editor in 0.58 ms.
Mono: successfully reloaded assembly
- Completed reload, in  0.849 seconds
Initializing Unity.PackageManager (PackageManager) v2017.3.0 for Unity v2017.3.0p2
Registering platform support modules:
Registered platform support modules in: 0.067762s.
Native extension for OSXStandalone target not found
Native extension for iOS target not found
[XcodeApplications] RefreshListOfAvailableXcodeApplications in: 0.003853s.
Validating Project structure ... 0.009159 seconds.
Refresh: detecting if any assets need to be imported or removed ... 
Hashing assets ... 0.000 seconds
  file open: 0.000 seconds (2 files)
  file read: 0.000 seconds (0.001 MB)
  hash: 0.000 seconds
----- Compute hash(es) for 1 asset(s).

Refresh: elapses 0.106762 seconds
Updating Assets/Editor/BuildiOS.cs - GUID: 073587f33285b4762bc9b13caf169f76...
 done. [Time: 137.101045 ms] 
Unloading 126 Unused Serialized files (Serialized files now loaded: 0)
System memory in use before: 262.9 MB.
System memory in use after: 263.0 MB.

Unloading 142 unused Assets to reduce memory usage. Loaded Objects now: 809.
Total: 2.918840 ms (FindLiveObjects: 0.561714 ms CreateObjectMapping: 0.024793 ms MarkObjects: 2.281888 ms  DeleteObjects: 0.049846 ms)

- Starting compile Library/ScriptAssemblies/Assembly-CSharp-Editor.dll

...

Load scene 'Temp/__Backupscenes/0.backup' time: 0.044122 ms 
Unloading 0 Unused Serialized files (Serialized files now loaded: 0)
[00:00:00] Enlighten: Reflection Probes took 38.694920 seconds. Cancelled, so not done yet.
System memory in use before: 299.4 MB.
System memory in use after: 299.6 MB.

Unloading 0 unused Assets to reduce memory usage. Loaded Objects now: 2880.
Total: 12.134338 ms (FindLiveObjects: 1.048075 ms CreateObjectMapping: 0.054204 ms MarkObjects: 11.022089 ms  DeleteObjects: 0.009009 ms)


*** Completed 'Build.Player.iOSSupport' in 42 seconds (41986 ms)

- Starting compile Library/ScriptAssemblies/Assembly-CSharp.dll
- Finished compile Library/ScriptAssemblies/Assembly-CSharp.dll
Symbols will be read from Temp/Assembly-CSharp.dll.mdb
Script Module: Assembly-CSharp.dll
Pass: 0 took 5 milliseconds
Pass: 1 took 12 milliseconds
- Starting compile Library/ScriptAssemblies/Assembly-CSharp-Editor.dll

Installation stops if empty (!) `/Applications/Unity` folder is present

Hi,
thanks for the script, I'm using it for months now. 🙏

But now I want to cahce the Unity installation on the Travis CI image, but unfortunately when an empty /Applications/Unity folder is present, the script stops saying:

ERROR: Directory "/Applications/Unity" not recognized as Unity installation.

Details: When I setup caching for Applications/Unity (see the corresponding changes in .travis.yml), Travis seemingly sets up an empty folder. Then the script stops at install-unity.py#L783, as it seems believe there is an existing Unity installation there, but there is not.

...
        # There's another version in the 'Unity' folder, move it to 'Unity VERSION'
        lookup = [vers for vers,name in installs.iteritems() if os.path.basename(name) == 'Unity']
        if len(lookup) != 1:
            error('Directory "%s" not recognized as Unity installation.' % install_path)
...

See error log live at eppz / Unity.Test.eppz / Build #72.


Question is: Could you please help me 🤞 on how to modify / patch the script to proceed with the installation, if /Applications/Unity is present, but empty.

You may even consider to make it part of a release, as installation actually may proceed with an empty but existing target folder.

When running install: "ERROR: Cannot dynamically create an instance of type 'System.Security.Cryptography.MD5CryptoServiceProvider'"

when running install from the current directory

./install-unity install 2018.2 --packages Unity,Documentation

I get the following error

ERROR: Cannot dynamically create an instance of type 'System.Security.Cryptography.MD5CryptoServiceProvider'. Reason: No parameterless constructor defined. (retrying in 5s, 3 retries remaining)·························║       0 B of 944.74 MB @       0 B/sERROR: Cannot dynamically create an instance of type 'System.Security.Cryptography.MD5CryptoServiceProvider'. Reason: No parametERROR: Cannot dynamically create an instance of type 'System.Security.Cryptography.MD5CryptoServiceProvider'. Reason: No parameterless constructor defined. (retrying in 5s, 2 retries remaining)·························║       0 B of 944.74 MB @       0 B/sERROR: Cannot dynamically create an instance of type 'System.Security.Cryptography.MD5CryptoServiceProvider'. Reason: No parametERROR: Cannot dynamically create an instance of type 'System.Security.Cryptography.MD5CryptoServiceProvider'. Reason: No parameterless constructor defined. (retrying in 5s, 1 retries remaining)·························║       0 B of 944.74 MB @       0 B/sERROR: Cannot dynamically create an instance of type 'System.Security.Cryptography.MD5CryptoServiceProvider'. Reason:ERROR: Cannot dynamically create an instance of type 'System.Security.Cryptography.MD5CryptoServiceProvider'. Reason: No parameterless constructor defined. (retrying in 5s, 0 retries remaining)·······························································································║       0 B of 944.74 MB @       0 B/sERROR: Cannot dynamically create an instance of type 'System.Security.Cryptography.MDWARN:  Progress bar disabled due to exception during rendering: System.AggregateException: One or more errors occurred. (One or more errors occurred. (Cannot dynamically create an instance of type 'System.Security.Cryptography.MD5CryptoServiceProvider'. Reason: No parameterless constructor defined.))                                                                                        ---> System.AggregateException: One or more errors occurred. (Cannot dynamically create an instance of type 'System.Security.Cryptography.MD5CryptoServiceProvider'. Reason: No parameterless constructor defined.)                                                                                                                                                                                 ---> System.MissingMethodException: Cannot dynamically create an instance of type 'System.Security.Cryptography.MD5CryptoServiceProvider'. Reason: No parameterless constructor defined.         
   at System.RuntimeType.ActivatorCache..ctor(RuntimeType )
   at System.RuntimeType.CreateInstanceDefaultCtor(Boolean , Boolean )
   at System.Activator.CreateInstance(Type type, Boolean nonPublic, Boolean wrapExceptions)
   at System.Activator.CreateInstance(Type type)
   at sttz.InstallUnity.Downloader.Start(CancellationToken cancellation)
   --- End of inner exception stack trace ---
   at sttz.InstallUnity.UnityInstaller.Process(InstallStep steps, Queue queue, Boolean skipChecks, CancellationToken cancellation)
   at sttz.InstallUnity.UnityInstaller.Process(InstallStep steps, Queue queue, Boolean skipChecks, CancellationToken cancellation)
   --- End of inner exception stack trace ---
   at sttz.InstallUnity.InstallUnityCLI.Install()
One or more errors occurred. (Cannot dynamically create an instance of type 'System.Security.Cryptography.MD5CryptoServiceProvider'. Reason: No parameterless constructor defined.)
Cannot dynamically create an instance of type 'System.Security.Cryptography.MD5CryptoServiceProvider'. Reason: No parameterless constructor defined.

is the machine I am running on missing any dependencies ?
as this program is the only way on the internet I can find that is able to the download unity via command line.

[Feature Request] ensure the unity installation path matches the version exactly

I am setting up this program with a jenkins instance to ensure unity is automatically installed before progressing with a build. You can find the the version of the unity project by inspecting the ProjectSettings\ProjectVersion.txt file.

In the scripts that I am setting up in the jenkins instance, I load that file, parse it through the yaml, and the fed it into the install-unity program, works like a charm.

However,

The next step in the build pipeline is to run that exact unity version. The install location doesn't match version fed in via command line exactly.

chrome_AaMCFFIHfx
AnyDesk_x6XFpvWXMu

This adds a complexity to the build process as it means addition string processing needs to be implemented. Is there currently a option to specify the install location, not just the components download location. If the install location can match the version exactly, it would make it easier to programmatically find the exact path,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.