{"id":15012120,"url":"https://github.com/microsoft/unitysetup.powershell","last_synced_at":"2025-05-15T17:06:35.131Z","repository":{"id":39618065,"uuid":"112545453","full_name":"microsoft/unitysetup.powershell","owner":"microsoft","description":"Powershell module for interfacing with Unity installs and projects.","archived":false,"fork":false,"pushed_at":"2025-01-28T20:59:56.000Z","size":461,"stargazers_count":186,"open_issues_count":35,"forks_count":46,"subscribers_count":11,"default_branch":"develop","last_synced_at":"2025-05-15T00:08:52.299Z","etag":null,"topics":["powershell","unity"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-30T00:50:42.000Z","updated_at":"2025-04-10T01:12:02.000Z","dependencies_parsed_at":"2024-07-19T00:41:56.141Z","dependency_job_id":"22242514-e5dc-4fcb-a048-7b02ed98c4b2","html_url":"https://github.com/microsoft/unitysetup.powershell","commit_stats":{"total_commits":261,"total_committers":22,"mean_commits":"11.863636363636363","dds":0.5325670498084292,"last_synced_commit":"725bdc0b2942b47729bca01fe4d76494944a1cdd"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Funitysetup.powershell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Funitysetup.powershell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Funitysetup.powershell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Funitysetup.powershell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/unitysetup.powershell/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254384988,"owners_count":22062422,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["powershell","unity"],"created_at":"2024-09-24T19:42:07.431Z","updated_at":"2025-05-15T17:06:30.109Z","avatar_url":"https://github.com/microsoft.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Unity Setup Powershell Module\n\nThis PowerShell module contains tools for managing and automating your Unity installs and projects.\n\n# Table of Contents\n\n1. [Unity Setup Powershell Module](#unity-setup-powershell-module)\n2. [Builds](#builds)\n3. [Installation](#installation)\n4. [Using](#using)\n5. [Feedback](#feedback)\n6. [Contributing](#contributing)\n7. [Testing](#testing)\n8. [Reporting Security Issues](#reporting-security-issues)\n\n\n## Builds\n\n### Master\n[![Build status](https://ci.appveyor.com/api/projects/status/m7ykg9s8gw23fn6h/branch/master?svg=true)](https://ci.appveyor.com/project/jwittner/unitysetup-powershell/branch/master)\n\nThe `master` branch is automatically built and deployed to the [PowerShell Gallery](https://www.powershellgallery.com/packages/UnitySetup).\n\n### Develop\n[![Build status](https://ci.appveyor.com/api/projects/status/m7ykg9s8gw23fn6h/branch/develop?svg=true)](https://ci.appveyor.com/project/jwittner/unitysetup-powershell/branch/develop)\n\nThe `develop` branch is automatically built and deployed as a prerelease module to the [PowerShell Gallery](https://www.powershellgallery.com/packages/UnitySetup).\n\n## Installation\n\n```powershell\nInstall-Module UnitySetup -Scope CurrentUser\n```\n\n## Using\n\n### Cmdlets\nFind all of your Unity installs:\n```powershell\nGet-UnitySetupInstance\n\n# Example output:\n# Version                                          Components Path\n# -------                                          ---------- ----\n# 2017.1.2f1                       Windows, UWP, UWP_IL2CPP C:\\Program Files\\Unity-2017.1.2f1\\\n# 2017.1.3f1                       Windows, UWP, UWP_IL2CPP C:\\Program Files\\Unity-2017.1.3f1\\\n# 2017.2.1f1                       Windows, UWP, UWP_IL2CPP C:\\Program Files\\Unity-2017.2.1f1\\\n# 2017.3.1f1       Windows, UWP, UWP_IL2CPP, Linux, Vuforia C:\\Program Files\\Unity-2017.3.1f1\\\n# 2018.1.0b4              Windows, UWP, UWP_IL2CPP, Vuforia C:\\Program Files\\Unity-2018.1.0b4\\\n# 2018.1.0b8                                              All C:\\Program Files\\Unity-2018.1.0b8\\\n# 2017.1.0p5                       Windows, UWP, UWP_IL2CPP C:\\Program Files\\Unity.2017.1.0p5\\\n# 2017.1.1f1                       Windows, UWP, UWP_IL2CPP C:\\Program Files\\Unity.2017.1.1f1\\\n# 2017.1.1p3       Windows, StandardAssets, UWP, UWP_IL2CPP C:\\Program Files\\Unity.2017.1.1p3\\\n# 2017.2.0f3              Windows, UWP, UWP_IL2CPP, Vuforia C:\\Program Files\\Unity.2017.2.0f3\\\n# 2017.3.0f3         Windows, UWP, UWP_IL2CPP, Mac, Vuforia C:\\Program Files\\Unity.2017.3.0f3\\\n```\nSelect the Unity installs that you want:\n```powershell\nGet-UnitySetupInstance | Select-UnitySetupInstance -Latest\nGet-UnitySetupInstance | Select-UnitySetupInstance -Version '2017.1.1f1'\nGet-UnitySetupInstance | Select-UnitySetupInstance -Project '.\\MyUnityProject'\n```\nFind all the Unity projects recursively:\n```powershell\nGet-UnityProjectInstance -Recurse\n\n# Example output:\n# Version    Path                            ProductName\n# -------    ----                            -----------\n# 2017.2.0f3 C:\\Projects\\Project1\\OneUnity\\  Contoso\n# 2017.3.0f3 C:\\Projects\\Project1\\TwoUnity\\  Northwind\n# 2017.1.1p1 C:\\Projects\\Project2\\           My Cool App\n# 2017.1.2f1 C:\\Projects\\Project3\\App.Unity\\ TemplateProject\n```\nLaunch the right Unity editor for a project:\n```powershell\nStart-UnityEditor\nStart-UnityEditor -Project .\\MyUnityProject\nStart-UnityEditor -Project .\\MyUnityProject -Latest\nStart-UnityEditor -Project .\\MyUnityProject -Version '2017.3.0f3'\n```\n\nUsing the [Unity Accelerator](https://docs.unity3d.com/2019.3/Documentation/Manual/UnityAccelerator.html):\n```powershell\nStart-UnityEditor -Project .\\MyUnityProject -CacheServerEndpoint 192.168.0.23 \nStart-UnityEditor -Project .\\MyUnityProject -CacheServerEndpoint 192.168.0.23:2523 -CacheServerNamespacePrefix \"dev\"\nStart-UnityEditor -Project .\\MyUnityProject -CacheServerEndpoint 192.168.0.23 -CacheServerNamespacePrefix \"dev\" -CacheServerDisableDownload\nStart-UnityEditor -Project .\\MyUnityProject -CacheServerEndpoint 192.168.0.23 -CacheServerDisableUpload\n```\nLaunch many projects at the same time:\n```powershell\nGet-UnityProjectInstance -Recurse | Start-UnityEditor\n```\nInvoke methods with arbitrary arguments:\n```powershell\nStart-UnityEditor -ExecuteMethod Build.Invoke -BatchMode -Quit -LogFile .\\build.log -Wait -AdditionalArguments \"-BuildArg1 -BuildArg2\"\n```\nTest the meta file integrity of Unity Projects:\n```powershell\nTest-UnityProjectInstanceMetaFileIntegrity # Test project in current folder\nTest-UnityProjectInstanceMetaFileIntegrity .\\MyUnityProject\nTest-UnityProjectInstanceMetaFileIntegrity -Project .\\MyUnityProject\nGet-UnityProjectInstance -Recurse | Test-UnityProjectInstanceMetaFileIntegrity\n\n# Example output:\n# True\n```\nGet meta file integrity issues for Unity Projects:\n```powershell\nTest-UnityProjectInstanceMetaFileIntegrity .\\MyUnityProject -PassThru\n\n# Example output:\n# Item                                                              Issue\n# ----                                                              -----\n# C:\\MyUnityProject\\Assets\\SomeFolder                               Directory is missing associated meta file.\n# C:\\MyUnityProject\\Assets\\SomeFolder\\SomeShader.shader             File is missing associated meta file.\n# C:\\MyUnityProject\\Assets\\SomeFolder\\SomeOtherShader.shader.meta   Meta file is missing associated item.\n# C:\\MyUnityProject\\Assets\\SomeFolder\\SomeNewShader.shader.meta     Meta file guid collision with C:\\MyUnityProject\\Assets\\SomeFolder\\SomeOtherShader.shader.meta\n```\n\nFind the installers for a particular version:\n```powershell\nFind-UnitySetupInstaller -Version '2017.3.0f3' | Format-Table\n\n# Example output:\n#  ComponentType Version       Length LastModified          DownloadUrl\n#  ------------- -------       ------ ------------          -----------\n#        Windows 2017.3.0f3 553688024 12/18/2017 8:05:31 AM https://download.unity3d.com/download_unity/...\n#          Linux 2017.3.0f3 122271984 12/18/2017 8:06:53 AM https://download.unity3d.com/download_unity/...\n#            Mac 2017.3.0f3  28103888 12/18/2017 8:06:53 AM https://download.unity3d.com/download_unity/...\n#  Documentation 2017.3.0f3 358911256 12/18/2017 8:07:34 AM https://download.unity3d.com/download_unity/...\n# StandardAssets 2017.3.0f3 189886032 12/18/2017 8:05:50 AM https://download.unity3d.com/download_unity/...\n#          UWP 2017.3.0f3 172298008 12/18/2017 8:07:04 AM https://download.unity3d.com/download_unity/...\n#     UWP_IL2CPP 2017.3.0f3 152933480 12/18/2017 8:07:10 AM https://download.unity3d.com/download_unity/...\n#        Android 2017.3.0f3 194240888 12/18/2017 8:05:58 AM https://download.unity3d.com/download_unity/...\n#            iOS 2017.3.0f3 802853872 12/18/2017 8:06:46 AM https://download.unity3d.com/download_unity/...\n#        AppleTV 2017.3.0f3 273433528 12/18/2017 8:06:09 AM https://download.unity3d.com/download_unity/...\n#       Facebook 2017.3.0f3  32131560 12/18/2017 8:06:12 AM https://download.unity3d.com/download_unity/...\n#        Vuforia 2017.3.0f3  65677296 12/18/2017 8:07:12 AM https://download.unity3d.com/download_unity/...\n#          WebGL 2017.3.0f3 134133288 12/18/2017 8:07:19 AM https://download.unity3d.com/download_unity/...\n```\n\nLimit what components you search for:\n```powershell\nFind-UnitySetupInstaller -Version 2017.3.0f3 -Components 'Windows','Documentation' | Format-Table\n\n# Example output:\n# ComponentType Version       Length LastModified          DownloadUrl\n# ------------- -------       ------ ------------          -----------\n#       Windows 2017.3.0f3 553688024 12/18/2017 8:05:31 AM https://download.unity3d.com/download_unity/...\n# Documentation 2017.3.0f3 358911256 12/18/2017 8:07:34 AM https://download.unity3d.com/download_unity/...\n```\n\nInstall UnitySetup instances:\n```powershell\n# Pipeline is supported, but downloads, then installs, then downloads, etc.\nFind-UnitySetupInstaller -Version '2017.3.0f3' | Install-UnitySetupInstance\n\n# This will issue all downloads together, then install each.\nInstall-UnitySetupInstance -Installers (Find-UnitySetupInstaller -Version '2017.3.0f3')\n```\n\nManage Unity licenses.\n```powershell\n# Get any active licenses\nGet-UnityLicense\n\n# Example Output:\n# LicenseVersion : 6.x\n# Serial         : System.Security.SecureString\n# UnityVersion   : 2017.4.2f2\n# DisplaySerial  : AB-CDEF-GHIJ-KLMN-OPQR-XXXX\n# ActivationDate : 2017-07-13 16:32:16\n# StartDate      : 2017-07-12 00:00:00\n# StopDate       : 2019-01-01 00:00:00\n# UpdateDate     : 2018-05-11 23:47:10\n\n# Activate a license\nStart-UnityEditor -Credential \u003cunityAccount\u003e -Serial \u003cunitySerial\u003e -Wait\n\n# Return license\nStart-UnityEditor -Credential \u003cunityAccount\u003e -ReturnLicense -Wait\n```\n\nManage Unity Package Manager configuration\n``` powershell\n# Update NPM auth tokens for my project manifest\nUpdate-UnityPackageManagerConfig -ProjectManifestPath \"C:\\MyUnityProject\\Packages\\manifest.json\"   \n\n# Example output\n# A Personal Access Token (PAT) will be created for you with the following details\n# Name: myorg_Package-Read (Automated)\n# Organization: myorg\n# Expiration: 2024-07-17T13:53:04.889Z\n# Would you like to continue? (Default: y): y\n#\n# ScopedURL                                                                 Auth\n# ---------                                                                 ----\n# https://pkgs.dev.azure.com/myorg/myproject/_packaging/MyRegistry/npm/registry my_auth_token_string_base64=\n```\n\n### DSC\nUnitySetup includes the xUnitySetupInstance DSC Resource. An example configuration might look like:\n\n```powershell\n\u003c#\n    Install multiple versions of Unity and several components\n#\u003e\nConfiguration Sample_xUnitySetupInstance_Install {\n    param(\n        [PSCredential]$UnityCredential,\n        [PSCredential]$UnitySerial\n    )\n\n    Import-DscResource -ModuleName UnitySetup\n\n    Node 'localhost' {\n\n        xUnitySetupInstance Unity {\n            Versions = '2017.4.2f2,2018.1.0f2'\n            Components = 'Windows', 'Mac', 'Linux', 'UWP', 'iOS'\n            Ensure = 'Present'\n        }\n\n        xUnityLicense UnityLicense {\n            Name = 'UL01'\n            Credential = $UnityCredential\n            Serial = $UnitySerial\n            Ensure = 'Present'\n            UnityVersion = '2017.4.2f2'\n            DependsOn = '[xUnitySetupInstance]Unity'   \n        }\n    }\n}\n```\n\nSee more by perusing the `UnitySetup\\Examples` folder.\n\n# Feedback\nTo file issues or suggestions, please use the [Issues](https://github.com/Microsoft/unitysetup.powershell/issues) page for this project on GitHub.\n\n\n# Contributing\n\nThis project welcomes contributions and suggestions.  Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.\n\nWhen you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n\n\n## Testing\n\nThis project includes Pester test runners for both unit tests and end to end tests - which can test against real Unity projects via environment variables.\n\nTo learn more about how to run and write tests, please refer to the [Test Runner Guide](./Tests/README.md).\n\n\n# Reporting Security Issues\n\nSecurity issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) at [secure@microsoft.com](mailto:secure@microsoft.com). You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the [MSRC PGP](https://technet.microsoft.com/en-us/security/dn606155) key, can be found in the [Security TechCenter](https://technet.microsoft.com/en-us/security/default).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Funitysetup.powershell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Funitysetup.powershell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Funitysetup.powershell/lists"}