By default, installing Unity Editors is a process that requires administrator privileges.
Starting with 2023.1, you can enable standard users on Windows to install Unity Editors without elevated privileges.
Once enabled, this feature can reduce the administrators’ involvement to installing just the missing dependencies the Unity installer detects (such as Visual C++ runtime libraries). These dependencies change infrequently, so a standard user won’t need an administrator to intervene every time they install other instances of the Unity Editor.
Make sure you have write access to the C:\ProgramData\Unity\config
folder.
Be sure to follow these practices when editing JSON files:
Get-Content
and ConvertFrom-Json
cmdlets in the PowerShell, as shown in this example.To enable standard users to install the Unity Editor:
Make sure the following path exists. Create any of its folders, if necessary:
C:\ProgramData\Unity\config
Make sure the following file exists. Create it, if necessary:
C:\ProgramData\Unity\config\services-config.json
If you need to create the file, make sure it has at least the following content:
{
}
Add the following entry between the curly braces in services-config.json
:
"hubDisableElevate": true
Optional: To allow multiple users of the same computer to share Unity Editor binary files without installing the same version multiple times, create a folder that will be a common destination for all Unity Editors, such as C:\UnityEditors
. Important: Make sure you grant Read and Write access to this folder for All Users.
Optional: If you created a common folder in the previous step, add the machineWideSecondaryInstallLocation
key to services-config.json
, to make the Unity Hub use this folder. Using the folder from the previous step, the entry looks like this:
"machineWideSecondaryInstallLocation": "C:\\UnityEditors"
Quit the Unity Hub and make sure it’s stopped and not just minimized to the taskbar.
Using the values from the procedure above, a sample services-config.json
file looks like this:
{
"hubDisableElevate": true,
"machineWideSecondaryInstallLocation": "C:\\UnityEditors"
}
The standard user’s computer is now able to install Unity Editors without intervention from an administrator, unless there are dependencies. An administrator must install any dependencies.
Here’s an example of a dependencies warning that a standard user might see:
If a standard user receives a warning about missing dependencies, the installer writes a list of dependencies to a text file. The warning identifies the location of this text file. An administrator must install these dependencies before the standard user can have a stable experience using Unity.
Here’s an example of a list of missing dependencies that the Unity Installer might generate:
Dependency: Visual C++ 2010 runtime (x64)
Download location: https://www.microsoft.com/en-ca/download/details.aspx?id=26999
Local Installer: C:\Users\nonadmin\AppData\Local\Unity 2023.1.0a5\MissingDependencies\vcredist_x64_2010.exe
Dependency: Visual C++ 2013 runtime (x64)
Download location: https://www.microsoft.com/en-ca/download/details.aspx?id=40784
Local Installer: C:\Users\nonadmin\AppData\Local\Unity 2023.1.0a5\MissingDependencies\vcredist_x64_2013.exe
Dependency: Visual C++ 2015 runtime (x64)
Download location: https://www.microsoft.com/en-ca/download/details.aspx?id=48145
Local Installer: C:\Users\nonadmin\AppData\Local\Unity 2023.1.0a5\MissingDependencies\vcredist_x64_2015.exe
Make sure that the following rules are set:
netsh advfirewall firewall delete rule name=all program='C:\Users\nonadmin\AppData\Local\Unity 2023.1.0a5\Editor\Unity.exe'
netsh advfirewall firewall delete rule name=all program='C:\Users\nonadmin\AppData\Local\Unity 2023.1.0a5\Editor\Data\Tools\nodejs\node.exe'
netsh advfirewall firewall add rule name='Unity 2023.1.0a5 Editor' dir=in action=allow program='C:\Users\nonadmin\AppData\Local\Unity 2023.1.0a5\Editor\Unity.exe' profile=domain protocol=any
netsh advfirewall firewall add rule name='Unity 2023.1.0a5 Editor' dir=in action=block program='C:\Users\nonadmin\AppData\Local\Unity 2023.1.0a5\Editor\Unity.exe' profile=public protocol=any
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.