{"id":15101907,"url":"https://github.com/errorstream/upak","last_synced_at":"2026-01-18T19:01:41.703Z","repository":{"id":230643672,"uuid":"779581227","full_name":"errorStream/UPak","owner":"errorStream","description":"A CLI for automating unity package operations","archived":false,"fork":false,"pushed_at":"2024-03-31T02:18:41.000Z","size":43429,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-10T22:35:23.755Z","etag":null,"topics":["automation","devops","doxygen","nuget","packaging","unity","unity3d"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/errorStream.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2024-03-30T07:58:38.000Z","updated_at":"2024-03-31T02:26:37.000Z","dependencies_parsed_at":"2024-03-31T04:33:55.607Z","dependency_job_id":null,"html_url":"https://github.com/errorStream/UPak","commit_stats":null,"previous_names":["errorstream/upak"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/errorStream%2FUPak","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/errorStream%2FUPak/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/errorStream%2FUPak/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/errorStream%2FUPak/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/errorStream","download_url":"https://codeload.github.com/errorStream/UPak/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247332511,"owners_count":20921852,"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":["automation","devops","doxygen","nuget","packaging","unity","unity3d"],"created_at":"2024-09-25T18:42:55.451Z","updated_at":"2026-01-18T19:01:41.666Z","avatar_url":"https://github.com/errorStream.png","language":"C#","readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cdiv align=\"center\"\u003e\n\u003ch3 align=\"center\"\u003eUPak\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    A CLI for automating unity package operations\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/errorStream/UPak/releases\"\u003eDownload\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/errorStream/UPak/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/errorStream/UPak/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\n  \u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\n      \u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\n          \u003ca href=\"#built-with\"\u003eBuilt With\n          \u003c/a\u003e\n        \u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\n      \u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\n          \u003ca href=\"#installation\"\u003eInstallation\n          \u003c/a\u003e\n        \u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#usage\"\u003eUsage\n      \u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\n          \u003ca href=\"#generate-a-unity-package\"\u003eGenerate a unity package\n          \u003c/a\u003e\n        \u003c/li\u003e\n      \u003c/ul\u003e\n      \u003cul\u003e\n        \u003cli\u003e\n          \u003ca href=\"#download-a-library-from-nuget\"\u003eDownload a library from NuGet\n          \u003c/a\u003e\n        \u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#roadmap\"\u003eRoadmap\n      \u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#contributing\"\u003eContributing\n      \u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#license\"\u003eLicense\n      \u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#contact\"\u003eContact\n      \u003c/a\u003e\n    \u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\n\n![Screen recording of usage](./images/screenrecording.gif)\n\nThis is the project for UPak, a command line program which provides functionality for automating various package management operations in Unity.\n\nSee the [usage](#usage) section to see what kinds of operations this tool can currently automate.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n### Built With\n\n* [Sharprompt](https://github.com/shibayan/Sharprompt)\n* [Newtonsoft.Json](https://www.newtonsoft.com/json)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- GETTING STARTED --\u003e\n## Getting Started\n\nThis is an example of how you may give instructions on setting up your project locally.\nTo get a local copy up and running follow these simple example steps.\n\n### Installation\n\n1. Go to [releases](https://github.com/errorStream/UPak/releases)\n2. Download the version which matches your platform\n3. Unzip it and store the `upak` file somewhere\n4. (Optional) Move the `upak` file to a directory in your path for easy calling\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- USAGE EXAMPLES --\u003e\n## Usage\n\nExecute the upak file to see usage instructions. \n\nNote that you can use the `--safe` option to provide confirmation every time upak performs an operation which will mutate the state of your system. Used as such `upak --safe \u003ccommand\u003e`.\n\n### Generate a unity package\n\nCustom Unity package generation is done through `upak pack init`. \n\n```shell\nupak pack init\n```\n\nIt runs you through a series of questions with accompanying explanation, once this is complete it caries out generating the package with the appropriate settings.\n\nThis command supports both embedded (packages inside the Packages directory of a Unity project, which are installed into that project automatically) and local packages (packages which are stored anywhere on disk and can be linked to a Unity project by clicking \"Install from disk\" in the package manager and selecting the `package.json` file).\n\nThis command is useful because the requirements for a unity package are throughly and explicitly defined in the [unity documentation](https://docs.unity3d.com/Manual/CustomPackages.html), but the process of setting up this configuration is failry lengthly and error prone.\n\n### Download a library from NuGet\n\nDownloading a pre-built library from the NuGet repository is done through the `upak nuget install \u003cpackage_name\u003e \u003cversion\u003e` command.\n\nThis command downloads a compatible dll of a given package of a given version from upak to the Unity project which this command is run inside of. When Unity finds such a file it installs it and makes the library code accessable to your scripts.\n\n```shell\nupak nuget install\n```\n\nThis won't work on all libraries, and dependencies currently also have to be installed manually through this command, but it does make the process much less tediouse when it is needed.\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- ROADMAP --\u003e\n## Roadmap\n\n- [ ] Samples generation\n- [ ] Modification tools\n- [ ] Ability to skip/add/remove assemblies\n- [ ] Git repo generation\n- [ ] License picking and generation\n- [ ] Changelog automation\n\nSee the [open issues](https://github.com/errorStream/UPak/issues) for a full list of proposed features (and known issues).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTRIBUTING --\u003e\n## Contributing\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- LICENSE --\u003e\n## License\n\nDistributed under the GNU GPLv3 License. See `LICENSE.txt` for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- CONTACT --\u003e\n## Contact\n\nErrorStream - [itch.io profile](https://errorstream.itch.io) - errorstream@amequus.com\n\nProject Link: [https://github.com/errorStream/UPak](https://github.com/errorStream/UPak)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferrorstream%2Fupak","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferrorstream%2Fupak","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferrorstream%2Fupak/lists"}