@@ -2275,5 +2275,36 @@ private void MenuItemDownloadInBrowser_Click(object sender, RoutedEventArgs e)
22752275 string exeURL = Tools . ParseDownloadURLFromWebpage ( unity ? . Version ) ;
22762276 Tools . DownloadInBrowser ( exeURL , unity ? . Version ) ;
22772277 }
2278+
2279+ private void MenuItemDownloadLinuxModule_Click ( object sender , RoutedEventArgs e )
2280+ {
2281+ var unity = GetSelectedUnity ( ) ;
2282+ if ( unity == null ) return ;
2283+ var editorFolder = Path . GetDirectoryName ( unity . Path ) ;
2284+
2285+ // TODO move to Tools as DownloadModule(version, exepath..)
2286+ var changeSetFile = Path . Combine ( editorFolder , @"Data\PlaybackEngines\windowsstandalonesupport\Source\WindowsPlayer\WindowsPlayer\UnityConfigureRevision.gen.h" ) ;
2287+ if ( File . Exists ( changeSetFile ) == true )
2288+ {
2289+ var allText = File . ReadAllText ( changeSetFile ) ;
2290+ var hashRaw = allText . Split ( new string [ ] { "#define UNITY_VERSION_HASH \" " } , StringSplitOptions . None ) ;
2291+ if ( hashRaw . Length > 1 )
2292+ {
2293+ var hash = hashRaw [ 1 ] . Replace ( "\" " , "" ) ;
2294+
2295+ // NOTE downloads now both, mono and il2cpp
2296+ var moduleURL = "https://download.unity3d.com/download_unity/" + hash + "/TargetSupportInstaller/UnitySetup-Linux-IL2CPP-Support-for-Editor-" + unity . Version + ".exe" ;
2297+ Tools . OpenURL ( moduleURL ) ;
2298+ moduleURL = "https://download.unity3d.com/download_unity/" + hash + "/TargetSupportInstaller/UnitySetup-Linux-Mono-Support-for-Editor-" + unity . Version + ".exe" ;
2299+ Tools . OpenURL ( moduleURL ) ;
2300+ }
2301+ }
2302+ else
2303+ {
2304+ Console . WriteLine ( "Changeset hash file not found: " + changeSetFile ) ;
2305+ }
2306+
2307+
2308+ }
22782309 } // class
22792310} //namespace
0 commit comments