{"id":17835889,"url":"https://github.com/guitarrapc/unitybuildrunner","last_synced_at":"2025-03-19T17:31:07.598Z","repository":{"id":61584534,"uuid":"140658725","full_name":"guitarrapc/UnityBuildRunner","owner":"guitarrapc","description":"Wrapper cli tool which output Unity batch build log to StandardOutput.","archived":false,"fork":false,"pushed_at":"2023-10-10T09:22:04.000Z","size":1532,"stargazers_count":21,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-05-01T22:19:08.774Z","etag":null,"topics":["dotnet-tool","unity-build","unity-windows","unity3d"],"latest_commit_sha":null,"homepage":"https://www.nuget.org/packages/UnityBuildRunner","language":"C#","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/guitarrapc.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":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-12T03:56:43.000Z","updated_at":"2024-06-25T04:51:21.621Z","dependencies_parsed_at":"2024-06-25T04:51:20.223Z","dependency_job_id":"b6883e00-bcf8-4d0b-b71c-8d61f51603c9","html_url":"https://github.com/guitarrapc/UnityBuildRunner","commit_stats":{"total_commits":115,"total_committers":8,"mean_commits":14.375,"dds":0.5217391304347826,"last_synced_commit":"103503afc3fb4e3b140eeae551510aa56075af25"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guitarrapc%2FUnityBuildRunner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guitarrapc%2FUnityBuildRunner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guitarrapc%2FUnityBuildRunner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guitarrapc%2FUnityBuildRunner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guitarrapc","download_url":"https://codeload.github.com/guitarrapc/UnityBuildRunner/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244006290,"owners_count":20382443,"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":["dotnet-tool","unity-build","unity-windows","unity3d"],"created_at":"2024-10-27T20:26:39.603Z","updated_at":"2025-03-19T17:31:07.592Z","avatar_url":"https://github.com/guitarrapc.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![dotnet-build](https://github.com/guitarrapc/UnityBuildRunner/actions/workflows/dotnet-build.yaml/badge.svg)](https://github.com/guitarrapc/UnityBuildRunner/actions/workflows/dotnet-build.yaml)\n[![release](https://github.com/guitarrapc/UnityBuildRunner/actions/workflows/dotnet-release.yaml/badge.svg)](https://github.com/guitarrapc/UnityBuildRunner/actions/workflows/dotnet-release.yaml)\n[![NuGet](https://img.shields.io/nuget/v/UnityBuildRunner.Core.svg?label=UnityBuildRunner.Core%20nuget)](https://www.nuget.org/packages/UnityBuildRunner.Core)\n[![NuGet](https://img.shields.io/nuget/v/UnityBuildRunner.svg?label=UnityBuildRunner%20nuget)](https://www.nuget.org/packages/UnityBuildRunner)\n\n## UnityBuildRunner\n\nThis tool enable you stdout Unity Build log on windows,  and control Timeout.\n\n\u003e **Note**: Linux/macOS don't need use this tool, just pass `-logfile -` argument to see log on stdout.\n\n# Motivation\n\nWindows Unity BatchBuild not provide Unity Build log standard output option. This small tool provide realtime stdout build log output and build timeout control.\n\n# Installation\n\nYou can install as .NET Global Tool or .NET Tool.\n\n```sh\n# install as global tool\ndotnet tool install -g UnityBuildRunner\n\n# install to project's .config\ndotnet tool install UnityBuildRunner\n```\n\nOr, you can install as nuget package library.\n\n```sh\nInstall-Package UnityBuildRunner.Core\n```\n\n# Usage\n\n## CLI (Help)\n\nYou can run installed tool via `UnityBuildRunner` (.NET Global Tool) or `dotnet UnityBuildRunner` (.NET Tool) command.\n\n```sh\n$ UnityBuildRunner --help\nUsage: run [options...]\n\nOptions:\n  -unity-path, --unity-path \u003cString\u003e    Full Path to the Unity executable, leave empty when use 'UnityPath' Environment variables instead. (Default: )\n  -timeout, --timeout \u003cString\u003e          Timeout for Unity Build. (Default: 02:00:00)\n```\n\n## CLI (Basic)\n\nAll you need to do is pass unity's path as `-u UnityPath` and leave other argments as is.\n\n\u003e [Unity \\- Manual: Command line arguments](https://docs.unity3d.com/2018.3/Documentation/Manual/CommandLineArguments.html)\n\nIf you are running Unity batch build like this.\n\n```sh\n$ \"C:/Program Files/Unity/Hub/Editor/6000.0.12f1/Editor/Unity.exe\" -quit -batchmode -nographics -silent-crashes -logfile \"log.log\" -buildTarget \"StandaloneWindows64\" -projectPath \"C:/github/UnityBuildRunner/sandbox/Sandbox.Unity\" -executeMethod \"BuildUnity.BuildGame\"\n```\n\nThen, append `UnityBuildRunner --unity-path \u003cUnityPath\u003e` or `dotnet UnityBuildRunner --unity-path \u003cUnityPath\u003e` to existing command, that's all.\n\n  ```sh\n  # .NET Global Tool\n  $ UnityBuildRunner --unity-path \"C:/Program Files/Unity/Hub/Editor/6000.0.12f1/Editor/Unity.exe\" -quit -batchmode -nographics -silent-crashes -logfile \"log.log\" -buildTarget \"StandaloneWindows64\" -projectPath \"C:/github/UnityBuildRunner/sandbox/Sandbox.Unity\" -executeMethod \"BuildUnity.BuildGame\"\n\n  # .NET Tool\n  $ dotnet UnityBuildRunner --unity-path \"C:/Program Files/Unity/Hub/Editor/6000.0.12f1/Editor/Unity.exe\" -quit -batchmode -nographics -silent-crashes -logfile \"log.log\" -buildTarget \"StandaloneWindows64\" -projectPath \"C:/github/UnityBuildRunner/sandbox/Sandbox.Unity\" -executeMethod \"BuildUnity.BuildGame\"\n  ```\n\n\u003e **Note**: Another way to specifying UnityPath is via Environment Variable `UnityPath`.\n\n  ```sh\n  # Environment Variables\n  $ set UnityPath=C:/Program Files/Unity/Hub/Editor/6000.0.12f1/Editor/Unity.exe\n\n  # .NET Global Tool\n  $ UnityBuildRunner -quit -batchmode -nographics -silent-crashes -logfile \"log.log\" -buildTarget \"StandaloneWindows64\" -projectPath \"C:/github/UnityBuildRunner/sandbox/Sandbox.Unity\" -executeMethod \"BuildUnity.BuildGame\"\n\n  # .NET Tool\n  $ dotnet UnityBuildRunner -quit -batchmode -nographics -silent-crashes -logfile \"log.log\" -buildTarget \"StandaloneWindows64\" -projectPath \"C:/github/UnityBuildRunner/sandbox/Sandbox.Unity\" -executeMethod \"BuildUnity.BuildGame\"\n  ```\n\n## Library (Basic)\n\nYou can use as Library as well. This is sample code to run Unity Build.\n\n```csharp\n// Parse settings from argument\nvar settings = DefaultSettings.Parse(args, @\"C:/Program Files/Unity/Hub/Editor/6000.0.12f1/Editor/Unity.exe\", TimeSpan.FromMinutes(30));\nusing var cts = settings.CreateCancellationTokenSource();\n\n// Run build\nIBuilder builder = new DefaultBuilder(settings, logger);\nawait builder.BuildAsync(cts.Token);\n\n// ExitCode is UnityBuildRunner and respect Unity's ExitCode.\nConsole.WriteLine(builder.ExitCode);\n```\n\n## FAQ\n\n**What happen when passing `-logFile -` argument?**\n\nUnity.exe not generate log file when passing `-` as log file name. Therefore UnityBuildRunner replace `-` to temporary log file `unitybuild.log` instead.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguitarrapc%2Funitybuildrunner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguitarrapc%2Funitybuildrunner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguitarrapc%2Funitybuildrunner/lists"}