Hub 3.18.0 – License activation broken, HandshakeResponse never sent

[SOLVED] - The fix was a combination of TLS enforcement and .NET Framework repair

After several hours of debugging, I found the root cause and the fix. Posting this to help anyone else who runs into the same issue.

Root Cause

The Unity Licensing Client (Unity.Licensing.Client.exe) is a .NET Framework 4.6.1 application. On my system (Windows 11 Build 26200), .NET Framework was not configured to use TLS 1.2 by default. This caused the Licensing Client to attempt TLS 1.0/1.1 connections to Unity’s servers, which silently failed or hung indefinitely.

Additionally, some .NET Framework components were corrupted or incomplete, which prevented the Licensing Client from properly completing its initialization after the TLS fix was applied.

This is why:

  • The Hub showed “The connection with the Unity Licensing Client has been lost”
  • The Licensing Client received the handshake but never sent a HandshakeResponse
  • PowerShell (which uses .NET Core with TLS 1.2 by default) could reach all Unity URLs without issues
  • The problem appeared after the Hub auto-updated, but the real cause was the .NET Framework TLS configuration on the system

The Fix (3 Steps)

Step 1: Force TLS 1.2 for .NET Framework

Open PowerShell as Administrator and run:

Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319" -Name "SchUseStrongCrypto" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319" -Name "SchUseStrongCrypto" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319" -Name "SystemDefaultTlsVersions" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319" -Name "SystemDefaultTlsVersions" -Value 1 -Type DWord

This forces ALL .NET Framework 4.x applications (including the Licensing Client) to use TLS 1.2 instead of the legacy TLS 1.0/1.1.

Step 2: Repair .NET Framework

Still in Admin PowerShell, run:

DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
Start-Process -FilePath "DISM.exe" -ArgumentList "/Online /Enable-Feature /FeatureName:NetFx4-AdvSrvs /All" -Wait -NoNewWindow
Start-Process -FilePath "DISM.exe" -ArgumentList "/Online /Enable-Feature /FeatureName:WCF-TCP-PortSharing45 /All" -Wait -NoNewWindow

Step 3: Restart PC

Reboot your computer to apply all changes. After restart, open the Hub and activate your license normally.

How to verify the issue

You can check if your system has this TLS problem by running this in Windows PowerShell (not PowerShell 7):

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$wc = New-Object System.Net.WebClient
try { $wc.DownloadString("https://public-cdn.cloud.unity3d.com/config/production") | Out-Null; Write-Host "OK" } catch { Write-Host "FAILED: $_" }

If this hangs or fails, your .NET Framework isn’t using TLS 1.2 and you need the fix above.

System Info

  • Windows 11 Build 26200
  • Unity Hub 3.18.0
  • Licensing Client v1.17.4
  • Unity Personal license

Hope this helps someone! This was a brutal one to debug. :sweat_smile: