Unity 2020 on linux
Issue Checklist
- [x] I'm using the latest u3d version
- [x] I ran
u3d --help - [x] I read the README
- [x] I made sure that a similar issue doesn't exit
Issue Description
I can't seem to run Unity 2020.1.1f1. I've installed the unity version through the hub, then created a symlink in /opt/. This worked fine with 2019.* releases. I get the error error: Unity version '2020.1.1f1' not found. Use --trace to view backtrace when trying to run. Below are some extra details:
$ ll /opt
total 28K
drwx--x--x 4 root root 4,0K dec 1 2019 containerd
drwxr-xr-x 5 root root 4,0K dec 1 2019 DockStation
-rwxr-xr-x 1 root root 638 jul 28 08:55 droidcam-uninstall
drwxr-xr-x 5 root root 4,0K jul 1 11:36 'Mesh Viewer'
drwxr-xr-x 2 vinhui users 4,0K nov 10 2019 multimc
drwxr-xr-x 6 root root 4,0K apr 28 21:42 REAPER
drwxr-xr-x 2 root root 4,0K aug 6 08:53 skypeforlinux
lrwxrwxrwx 1 root root 40 jun 15 15:57 unity-editor-2019.4.0f1 -> /home/vinhui/Unity/Hub/Editor/2019.4.0f1
lrwxrwxrwx 1 root root 40 jun 29 16:45 unity-editor-2019.4.1f1 -> /home/vinhui/Unity/Hub/Editor/2019.4.1f1
lrwxrwxrwx 1 root root 40 aug 7 09:27 unity-editor-2020.1.1f1 -> /home/vinhui/Unity/Hub/Editor/2020.1.1f1
$ u3d list --verbose --trace
DEBUG Looking for installed Unity version under /opt/
DEBUG Looking for installed Unity version under /home/vinhui/Unity/Hub/Editor
DEBUG Found list_installed_paths: ["/opt/unity-editor-2019.4.1f1", "/opt/unity-editor-2020.1.1f1", "/opt/unity-editor-2019.4.0f1"]
DEBUG Looking for installed Unity version under /opt/
DEBUG Looking for installed Unity version under /home/vinhui/Unity/Hub/Editor
DEBUG Found debian_installed_paths: []
DEBUG Looking for installed Unity version under /opt/
DEBUG Looking for installed Unity version under /home/vinhui/Unity/Hub/Editor
DEBUG Found list_installed_paths: ["/opt/unity-editor-2019.4.1f1", "/opt/unity-editor-2020.1.1f1", "/opt/unity-editor-2019.4.0f1"]
DEBUG Looking for installed Unity version under /opt/
DEBUG Looking for installed Unity version under /home/vinhui/Unity/Hub/Editor
DEBUG Found debian_installed_paths: []
Traceback (most recent call last):
19: from /usr/local/bin/u3d:23:in `<main>'
18: from /usr/local/bin/u3d:23:in `load'
17: from /var/lib/gems/2.7.0/gems/u3d-1.2.3/exe/u3d:7:in `<top (required)>'
16: from /var/lib/gems/2.7.0/gems/u3d-1.2.3/lib/u3d/commands_generator.rb:41:in `start'
15: from /var/lib/gems/2.7.0/gems/u3d-1.2.3/lib/u3d/commands_generator.rb:263:in `run'
14: from /var/lib/gems/2.7.0/gems/commander-4.5.2/lib/commander/delegates.rb:15:in `run!'
13: from /var/lib/gems/2.7.0/gems/commander-4.5.2/lib/commander/runner.rb:68:in `run!'
12: from /var/lib/gems/2.7.0/gems/commander-4.5.2/lib/commander/runner.rb:452:in `run_active_command'
11: from /var/lib/gems/2.7.0/gems/commander-4.5.2/lib/commander/command.rb:155:in `run'
10: from /var/lib/gems/2.7.0/gems/commander-4.5.2/lib/commander/command.rb:184:in `call'
9: from /var/lib/gems/2.7.0/gems/u3d-1.2.3/lib/u3d/commands_generator.rb:112:in `block (2 levels) in run'
8: from /var/lib/gems/2.7.0/gems/u3d-1.2.3/lib/u3d/commands.rb:48:in `list_installed'
7: from /var/lib/gems/2.7.0/gems/u3d-1.2.3/lib/u3d/installer.rb:88:in `installed_sorted_by_versions'
6: from /var/lib/gems/2.7.0/gems/u3d-1.2.3/lib/u3d/installer.rb:88:in `sort'
5: from /var/lib/gems/2.7.0/gems/u3d-1.2.3/lib/u3d/installer.rb:88:in `block in installed_sorted_by_versions'
4: from /var/lib/gems/2.7.0/gems/u3d-1.2.3/lib/u3d/installer.rb:88:in `new'
3: from /var/lib/gems/2.7.0/gems/u3d-1.2.3/lib/u3d/unity_version_number.rb:65:in `initialize'
2: from /var/lib/gems/2.7.0/gems/u3d-1.2.3/lib/u3d/unity_version_number.rb:65:in `new'
1: from /var/lib/gems/2.7.0/gems/u3d-1.2.3/lib/u3d/unity_version_number.rb:32:in `initialize'
/var/lib/gems/2.7.0/gems/u3d-1.2.3/lib/u3d/utils.rb:201:in `parse_unity_version': Version () does not match the Unity version format 0.0.0x0 (ArgumentError)
$ u3d --version
u3d 1.2.3
I have faced a similar issue. After a fresh install on Ubuntu (20.04) it was still reporting as not being installed. When I did a u3d list it would list the installation but without a version.
It looks like the method read_version_from_unity_builtin_extra is not reading a valid version number. When I changed this to return the correct (for me) value u3d launched unity as expected. My ruby skills aren't good enough to correctly read the value from this very large binary file but maybe this helps with diagnosis.