Hub 3.18.0 – License activation broken, HandshakeResponse never sent

Hi Unity Hub Team,

Since my Hub auto-updated to v3.18.0 (May 6th), I am completely unable to use Unity. License activation fails every time. Everything was working fine the week before on the previous Hub version. I am totally blocked.

Environment

  • Unity Hub: 3.18.0
  • Unity Editor: 6000.4.1f1
  • Licensing Client (Hub): v1.17.4
  • Licensing Client (Editor): v1.18.1
  • OS: Windows 11 Build 26200
  • License type: Unity Personal

Error Messages

  • “Activation of your license failed. Try again or contact Unity Support for help.”
  • “Unable to refresh license. Please try again.”
  • “The connection with the Unity Licensing Client has been lost.”

Root Cause Analysis

I spent several hours analyzing the logs and found the exact point of failure:

The Licensing Client receives the handshake from the Hub, but never sends a HandshakeResponse back. It hangs indefinitely until the Hub times out after 30 seconds.

Today (BROKEN - Hub 3.18.0, Licensing Client v1.17.4):

19:33:31.975 - [HandshakeController] Received handshake from: Hub 3.18.0 (LocalIPC/1.17.4)
19:33:32.012 - [LicenseFilesMapper] Successfully parsed license UnityEntitlementLicense.xml
19:33:32.016 - [EntitlementResolverProvider] Processed 1 license files
19:33:32.234 - [ProgramInitializer] Client product version: 1.17.4

... silence. No HandshakeResponse is ever sent.
... Hub times out after 30 seconds.
... "The connection with the Unity Licensing Client has been lost."

December 2025 (WORKING - Hub 3.15.2, Licensing Client v1.17.3):

23:33:54.789 - [ClientConfigurationLoader] Downloaded remote config from CDN
23:33:54.827 - [ClientConfigurationLoader] Unity remote config is updated
23:33:54.865 - [PackageService] Getting PACL from license.unity3d.com
23:33:54.911 - [HandshakeController] Received handshake from: Hub 3.15.2 (LocalIPC/1.17.3)
23:33:55.046 - [PackageEnforcer] PACL updated successfully
23:33:55.665 - [ApiPipeHandler] Sending HandshakeResponse [200]: Handshake successful
23:34:39.891 - [GenesisLicensingService] Successfully updated license file

Key Difference

In the working version, a “Downloaded remote config from CDN” step happens during initialization, followed by a PACL update, and then the HandshakeResponse is sent within ~0.7 seconds.

In Hub 3.18.0, the remote config download step is completely missing from the logs. The PACL sometimes downloads successfully (304 Not Modified), but the HandshakeResponse is never sent regardless.

Additional Issues in Hub Logs

The Hub’s info-log.json also shows CDN errors:

Failed to refresh data from https://public-cdn.cloud.unity3d.com/hub/prod/hubConfig.json
Reason: 404 Not Found (NoSuchKey: The specified key does not exist.)

Failed to refresh data from https://public-cdn.cloud.unity3d.com/hub/prod/releases-win32.json  
Reason: 404 Not Found (NoSuchKey: The specified key does not exist.)

And multiple Licensing Client instances fighting over the same mutex:

ERROR - Failed to acquire global mutex Unity-LicenseClient-Name.
Another instance of Unity.Licensing.Client is already running.

The same behavior happens when starting the Editor directly via command line:

[Licensing::IpcConnector] Successfully connected to: "LicenseClient-Name"
[Licensing::Client] Error: Timed-out after 30.00s, waiting for HandshakeResponse
[Licensing::Module] Error: Failed to handshake to channel: "LicenseClient-Name"
[Licensing::Module] Error: The connection with the Unity Licensing Client has been lost.

What I Have Tried (Nothing Worked)

  1. Restarting PC multiple times
  2. Completely reinstalling Unity Hub
  3. Sign out and sign back in
  4. Running Hub as Administrator
  5. Deleting license files from AppData\Local\Unity\licenses\
  6. Manually creating C:\ProgramData\Unity with full user permissions
  7. Completely disabling Windows Firewall
  8. Stopping Docker Desktop and all Docker processes
  9. Running DISM /Online /Cleanup-Image /RestoreHealth (completed successfully)
  10. Running sfc /scannow (found and repaired corrupt system files)
  11. Setting hubEnableWorkOffline to true in hubConfig.json
  12. Starting Editor directly: Unity.exe -createProject -logFile
  13. Starting Editor in batchmode: Unity.exe -batchmode -nographics -quit
  14. Attempting manual activation: Unity.exe -batchmode -createManualActivationFile
  15. Disabling all network adapters for offline attempt
  16. Adding firewall exception rules for Unity Hub, Editor, and Licensing Client

None of these work because the Licensing Client itself hangs during the handshake phase, regardless of whether the Hub or Editor initiates the connection, and regardless of online/offline status.

Questions

  1. Is there a known issue with Hub 3.18.0 and the Licensing Client handshake?
  2. Where can I download an older Hub version (3.17.3 or earlier) to downgrade?
  3. Is there a way to force the Licensing Client to complete the handshake without the remote config download?

Support Ticket

I have also submitted a support ticket: #3339693 with full log files attached.

Any help is greatly appreciated. I am completely unable to work.

Thanks,
Kevin

[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:

Sir you saved my day thank you so much!