@@ -94,6 +94,9 @@ class UnityVersion
9494 if ($a.Build -lt $b.Build ) { return -1 }
9595 if ($a.Build -gt $b.Build ) { return 1 }
9696
97+ if ($a.Suffix -lt $b.Suffix ) { return -1 }
98+ if ($a.Suffix -gt $b.Suffix ) { return 1 }
99+
97100 return 0
98101 }
99102}
@@ -392,7 +395,7 @@ function Select-UnitySetupInstance
392395 }
393396 }
394397 }
395- else { $Instances }
398+ elseif ( $Instances .Count -gt 0 ) { $Instances }
396399 }
397400 end
398401 {
@@ -494,8 +497,8 @@ function Start-UnityEditor
494497 [CmdletBinding (DefaultParameterSetName = " Context" )]
495498 param (
496499 [parameter (Mandatory = $false , ValueFromPipeline = $true , ParameterSetName = ' Projects' )]
497- [parameter (Mandatory = $true , ParameterSetName = ' ProjectsLatest' )]
498- [parameter (Mandatory = $true , ParameterSetName = ' ProjectsVersion' )]
500+ [parameter (Mandatory = $true , ValueFromPipeline = $true , ParameterSetName = ' ProjectsLatest' )]
501+ [parameter (Mandatory = $true , ValueFromPipeline = $true , ParameterSetName = ' ProjectsVersion' )]
499502 [ValidateNotNullOrEmpty ()]
500503 [UnityProjectInstance []] $Project ,
501504 [parameter (Mandatory = $false , ValueFromPipeline = $true , ParameterSetName = ' Setups' )]
@@ -545,7 +548,7 @@ function Start-UnityEditor
545548 else
546549 {
547550 $setupInstance = Get-UnitySetupInstance | Select-UnitySetupInstance - Latest
548- if ($null -ne $setupInstance )
551+ if ($setupInstance .Count -gt 0 )
549552 {
550553 $setupInstances += , $setupInstance
551554 }
@@ -573,7 +576,7 @@ function Start-UnityEditor
573576 elseif ( $Latest )
574577 {
575578 $setupInstance = Get-UnitySetupInstance | Select-UnitySetupInstance - Latest
576- if ($null -ne $setupInstance )
579+ if ($setupInstance .Count -gt 0 )
577580 {
578581 $setupInstances = , $setupInstance
579582 }
@@ -591,7 +594,7 @@ function Start-UnityEditor
591594 elseif ($null -ne $Version )
592595 {
593596 $setupInstance = Get-UnitySetupInstance | Select-UnitySetupInstance - Version $Version
594- if ($null -ne $setupInstance )
597+ if ($setupInstance .Count -gt 0 )
595598 {
596599 $setupInstances = , $setupInstance
597600 }
@@ -609,26 +612,25 @@ function Start-UnityEditor
609612
610613 $instanceArgs = @ ()
611614 foreach ( $p in $projectInstances ) {
612- $projectVersion = $p.Version
613615
614616 if ( $Latest ) {
615617 $setupInstance = Get-UnitySetupInstance | Select-UnitySetupInstance - Latest
616- if ($null -eq $setupInstance ) {
618+ if ($setupInstance .Count -eq 0 ) {
617619 Write-Error " Could not find any Unity Editor installed"
618620 continue
619621 }
620622 }
621623 elseif ($null -ne $Version ) {
622624 $setupInstance = Get-UnitySetupInstance | Select-UnitySetupInstance - Version $Version
623- if ($null -eq $setupInstance ) {
625+ if ($setupInstance .Count -eq 0 ) {
624626 Write-Error " Could not find Unity Editor for version $Version "
625627 continue
626628 }
627629 }
628630 else {
629- $setupInstance = Get-UnitySetupInstance | Select-UnitySetupInstance - Version $projectVersion
630- if ($null -eq $setupInstance ) {
631- Write-Error " Could not find Unity Editor for version $projectVersion "
631+ $setupInstance = Get-UnitySetupInstance | Select-UnitySetupInstance - Version $p .Version
632+ if ($setupInstance .Count -eq 0 ) {
633+ Write-Error " Could not find Unity Editor for version $ ( $p .Version ) "
632634 continue
633635 }
634636 }
0 commit comments