[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. ![]()