For educational purposes only!
Personally i use alternative launchers, so not affected from these Hub Pains(tm)
Alternative Launchers: https://github.com/unitycoder/UnityLauncherPro/wiki/Alternative-Launchers
- Note: Unity Hub 3.12.x or maybe few earlier versions too changed everything in the sources.. so moste of these might not work as is.
Uncheck "Connect to Unity Cloud" by default
- Tested on Hub 3.6.1
- open build/renderer/main.js
- find line:
{testId:"connect-services-checkbox",id:"unified-project-enabled-checkbox",isChecked:Y,onChange
- replace with:
{testId:"connect-services-checkbox",id:"unified-project-enabled-checkbox",isChecked:0==1,onChange
Enable Create Project Button (without having to select Cloud Organization)
- Tested on Hub 3.6.1
- open build/renderer/main.js
- find line:
{r({id:"cancel-create-project",label:"Cancel"}),e()},testId:`cancel-project-${i.name}`},n("common:CANCEL")),s.default.createElement(u.Button,{isDisabled:o||S,onClick:function(){r
- replace with:
{r({id:"cancel-create-project",label:"Cancel"}),e()},testId:`cancel-project-${i.name}`},n("common:CANCEL")),s.default.createElement(u.Button,{isDisabled:1==0,onClick:function()

Remove Version Control & Cloud Dashboard columns
Add Support for Custom Project Titles from ProjectName.txt or ProjectSettings ProductName field (instead of using folder name)
Add IRC Chat to Hub window (using iframe)
- Tested on Hub 3.6.1
- Open build/renderer/index.html
- Add any IRC embed code before </body>, like: <iframe src="https://chat.undernet.org/" style="background: #444; width:99%; height:450px;"></iframe>
- Video example: https://www.youtube.com/watch?v=3e9FSimbdfk

Custom Previews (or any html) for Project Templates description
Enable Built-in Login Dialog (no more browser login/logout issues with multiple accounts!)
- Open Unity Hub\resources\app\build\main\services\authService\AuthService.js
- Find line:
if ((0, appDefaultProtocolClientHelpers_1.isUnityHubProtocolHandled)()) {
- Replace with
if (1==0 && (0, appDefaultProtocolClientHelpers_1.isUnityHubProtocolHandled)())
- (to make this “if” be false, so that createLoginWindow gets called instead)
- Alternative to modifying source: Could try disabling "UnityHub" protocol from Registry, since the code tries to check for it "isUnityHubProtocolHandled"
- info https://unitycoder.com/blog/2024/04/26/unityhub-enable-builtin-login-dialog-no-more-browser-login-logout-issues/

Completely quit Unity Hub when you press X (window close button)
- Open baseWindow.js
- add const electron_1 = require("electron"); at the top (next to other require lines)
- Find line logger.debug('close event is prevented, browser window will be hidden');
- add this line after it electron_1.app.quit();
Make Hub background translucent
Custom username initials in Editor
- If you dont want to doxx your initials on Editor screen
- You change them in Unity Profile at unity id site, or modify hub sources
- Open AuthServices.js
- Find displayName: this.userInfo.name, (its inside getFormattedUserInfo() method)
- replace with any short string for your initials

- Hub 3.12.x has everything changed:
- Open IdentityProvider.js
- Find const { userInfo: e } = AuthService_1.default;
- override your initials there
- e.name = "🥔 🥔";
