{"id":15134861,"url":"https://github.com/jetbrains/teamcity-unity-plugin","last_synced_at":"2025-04-05T08:08:46.850Z","repository":{"id":33896971,"uuid":"159985216","full_name":"JetBrains/teamcity-unity-plugin","owner":"JetBrains","description":"TeamCity plugin supports building Unity projects","archived":false,"fork":false,"pushed_at":"2024-11-08T16:37:48.000Z","size":6103,"stargazers_count":84,"open_issues_count":30,"forks_count":37,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-04-05T08:08:40.655Z","etag":null,"topics":["teamcity-plugin","teamcity-runner","unity","unity3d"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JetBrains.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-01T20:39:20.000Z","updated_at":"2024-11-08T16:37:52.000Z","dependencies_parsed_at":"2025-02-23T19:13:01.236Z","dependency_job_id":"dda40acc-20a7-47dd-b05b-6a30b3df96a0","html_url":"https://github.com/JetBrains/teamcity-unity-plugin","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JetBrains%2Fteamcity-unity-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JetBrains%2Fteamcity-unity-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JetBrains%2Fteamcity-unity-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JetBrains%2Fteamcity-unity-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JetBrains","download_url":"https://codeload.github.com/JetBrains/teamcity-unity-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247305935,"owners_count":20917208,"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":["teamcity-plugin","teamcity-runner","unity","unity3d"],"created_at":"2024-09-26T05:40:19.982Z","updated_at":"2025-04-05T08:08:46.821Z","avatar_url":"https://github.com/JetBrains.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TeamCity Unity plugin\n\n[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![build status](https://teamcity.jetbrains.com/app/rest/builds/buildType:id:TeamCityPluginsByJetBrains_TeamCityUnityPlugin_TeamCityUnityPlugin_MasterBuild/statusIcon.svg)\n\nThe plugin supports building Unity projects on TeamCity.\n\n## Features\n\n* Unity versions detection on build agents\n* Unity build runner with smart completions\n* Automatic discovery of Unity build steps\n* Structured build log with problems highlighting\n* Unity Editor tests reporting\n* Unity build settings feature\n* Unity as Agent tool\n* Running Unity build step inside a container\n\n### Unity build settings feature\n\nThis [TeamCity build feature](https://confluence.jetbrains.com/display/TCDL/Adding+Build+Features) allows to **automatically activate and return Unity Editor license** before build start and after build completion.\n\nAdditionally, it allows you to configure the address for the assets caching proxy,\nwhich can be either the [Cache server][cache-server] or the [Unity accelerator][unity-accelerator].\nThe appropriate arguments will be used based on the asset pipeline version used in the project.\n\n# Download\n\nYou can [download the plugin](https://plugins.jetbrains.com/plugin/11453-unity-support) and install it as [an additional TeamCity plugin](https://confluence.jetbrains.com/display/TCDL/Installing+Additional+Plugins).\n\n**Note**: After installation, you need to restart TeamCity server by going to Administration =\u003e Diagnostics =\u003e Restart Server\n\n# Compatibility\n\nThe plugin is compatible with:\n* [TeamCity](https://www.jetbrains.com/teamcity/download/) 2022.10 and above.\n\n  Currently, it still supports all the Java versions that TeamCity\n  [supports](https://www.jetbrains.com/help/teamcity/supported-platforms-and-environments.html#Supported+Java+Versions+for+TeamCity+Server),\n  though it will be moved to Java 11 in the future.\n  Please consider upgrading the Java version your TeamCity instance is running on.\n\n\n* Unity 2017 and above.\n\n# Configuration\n\nThe plugin automatically detects Editors installed via Unity Hub. Also it searches Editors in the `PATH` environment variable and in the following well-known directories:\n* macOS: `/Applications/Unity*` and `/Applications/Unity/Hub/Editor/*`\n* Linux: `/opt/Unity*`/`~/Unity*` and `/opt/Unity/Hub/Editor/*`/`~/Unity/Hub/Editor/*`\n* Windows: `%Program Files%/Unity*` and `%Program Files%/Unity/Hub/Editor/*`\n\n**Note**: you need to start TeamCity build agent under the same user account which is used for Unity Hub installation.\n\nTo add Unity installation located in custom path you could use `UNITY_HOME` environment variable, e.g. `UNITY_HOME=C:\\Tools\\Unity_2018.1\\`. Multiple paths could be specified by using [default path delimiter](https://docs.oracle.com/javase/7/docs/api/java/io/File.html#separator).\n\nTo search Unity installation directories in custom path matching `Unity*` pattern you could use `UNITY_HINT_PATH` environment variable, e.g. `UNITY_HINT_PATH=C:\\Tools`. Multiple paths could be specified by using [default path delimiter](https://docs.oracle.com/javase/7/docs/api/java/io/File.html#separator).\n\nYou may also install Unity as a TeamCity agent tool. See [TeamCity Agent Tool Configuration](#teamcity-agent-tool-configuration) for more information.\n\n## Agent configuration parameters\n\nAll detected Unity versions will be reported as build agent configuration parameters with the `unity.path.%unityVersion%` prefix. They could be found on the Agents -\u003e \"%agentName%\" -\u003e Agent Parameters -\u003e Configuration Parameters page in TeamCity server UI.\n\n## Custom error logging settings\n\nThe runner allows overriding default error logging settings by using \"Line statuses file\" parameter where you could specify the path to configuration file. Example file contents:\n\n```xml\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003clines\u003e\n  \u003cline level=\"warning\" message=\"warning CS\\d+\" /\u003e\n  \u003cline level=\"error\" message=\"error CS\\d+\" /\u003e\n\u003c/lines\u003e\n```\n## TeamCity Agent Tool Configuration\n\nThis plugin supports optionally installing Unity as a TeamCity [agent tool](https://confluence.jetbrains.com/display/TCDL/Installing+Agent+Tools).\n\n### Creating Tool Zip Archive\n\nTo create a tool zip file for Unity, do the following:\n1. Locally install (or extract) the desired version of Unity along with any/all desired Target Support (Android, iOS, Xbox, etc.)\n2. Zip the `Editor` folder + [plugin descriptor][plugin-descriptor] into an archive named `Unity-\u003cversion\u003e.zip` such as `Unity-2018.4.9f1.zip`\n    It should look like this (for Windows):\n    ```\n    📁 Unity-2018.4.9f1.zip\n    |- 📄 teamcity-plugin.xml\n    |- 📂 Editor\n    │  |- 📂 BugReporter\n    │  |- 📂 Data\n    │  |- 📂 locales\n    │  |- 📄 Unity.exe\n    │  |- ...\n    ```\n   Note that the archive structure may vary depending on the distributed binaries.\n   For example, when packing for MacOS, the top-level folder inside the archive should be `Unity.app`.\n3. Upload as a Unity Tool on the Administration \u003e Tools page on TeamCity\n\n#### NB!\n- Agent environment must contain all the required global dependencies to make Unity work on a given OS.\n\n\n## Running Unity build step inside a container\nThis plugin is integrated with [Container Wrapper](https://www.jetbrains.com/help/teamcity/container-wrapper.html) extension.\nThe integration works only with `2023.09` and above versions of TeamCity.\n\n## Common problems\n\n### Unmet requirements: Exists=\u003eunity.path.xxx\n\nThis problem indicates that the Unity Editor installation was not found on any of build agent machines. Check that you have [installed Editor](https://unity3d.com/get-unity/download) on your build agents and machines were [properly configured](#configuration).\n\n## How to Contribute\n\nWe place a high value on user feedback and encourage you to share your experience and suggestions.\nSend a Pull Request to contribute or contact us via [YouTrack][youtrack] to report an issue.\n\n## Development\n\n### Prerequisites\n\n* JDK 8\n\n### Building\n\n1. Clone the repo\n2. Setup local git hooks\n    ```shell\n    git config --local core.hooksPath .githooks\n    ```\n3. Build the project using Gradle\n    ```shell\n    ./gradlew build\n    ```\n\n## Additional Resources\n\n- [Changelog](CHANGELOG.md)\n- [Maintainership](MAINTAINERSHIP.md)\n\n[plugin-descriptor]: https://plugins.jetbrains.com/docs/teamcity/plugins-packaging.html#Tools\n[plugin-descriptor.executables]: https://plugins.jetbrains.com/docs/teamcity/plugins-packaging.html#Making+File+Executable\n[youtrack]: https://youtrack.jetbrains.com/newIssue?project=TW\u0026c=Team%20Build%20Tools%20Integrations\u0026c=tag%20tc-unity\n[cache-server]: https://docs.unity3d.com/2019.2/Documentation/Manual/CacheServer.html\n[unity-accelerator]: https://docs.unity3d.com/Manual/UnityAccelerator.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjetbrains%2Fteamcity-unity-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjetbrains%2Fteamcity-unity-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjetbrains%2Fteamcity-unity-plugin/lists"}