sttz / install-unity Goto Github PK
View Code? Open in Web Editor NEWScript to install Unity 3D versions from the command line on macOS
License: MIT License
Script to install Unity 3D versions from the command line on macOS
License: MIT License
Currently automatically the package installing sdk 32 version, but latest update from google play require at least 33
https://developer.android.com/google/play/requirements/target-sdk
Bump dependencies to use 33 api level by default
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)
hi, thank you for your effort to maintain install-unity for new release 👍
today I found
https://unity3d.com/unity/whats-new/2019.2.x returns 200 but
https://unity3d.com/unity/whats-new/2019.3.0 returns 404 with curl.
consequently install-unity cannot find url for 2019.3.0f3.
did you find new url pattern for new version?
regards,
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!
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.
I'm currently working on adding Windows support. Progress can be tracked on my fork and branch here: https://github.com/TCROC/install-unity/tree/windows-support. I'll create a pr when it's ready.
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
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
.
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.
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
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
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
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.
I've setup HomeBrew formula on my personal tap here:
https://github.com/capyvara/homebrew-tap/blob/master/install-unity.rb
brew tap capyvara/tap
brew install install-unity
Maybe setting up a tap on your own users should be better to keep versions updated, or alternatively let's switch to building from source and adding to homebrew repo.
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.
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!
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 :)
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
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.
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)
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.
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.
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
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
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
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 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.
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.
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,
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.