Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/errorstream/upak

A CLI for automating unity package operations
https://github.com/errorstream/upak

automation devops doxygen nuget packaging unity unity3d

Last synced: 16 days ago
JSON representation

A CLI for automating unity package operations

Awesome Lists containing this project

README

        


UPak


A CLI for automating unity package operations




Download
·
Report Bug
·
Request Feature


Table of Contents



  1. About The Project




  2. Getting Started




  3. Usage





  4. Roadmap



  5. Contributing



  6. License



  7. Contact


## About The Project

![Screen recording of usage](./images/screenrecording.gif)

This is the project for UPak, a command line program which provides functionality for automating various package management operations in Unity.

See the [usage](#usage) section to see what kinds of operations this tool can currently automate.

(back to top)

### Built With

* [Sharprompt](https://github.com/shibayan/Sharprompt)
* [Newtonsoft.Json](https://www.newtonsoft.com/json)

(back to top)

## Getting Started

This is an example of how you may give instructions on setting up your project locally.
To get a local copy up and running follow these simple example steps.

### Installation

1. Go to [releases](https://github.com/errorStream/UPak/releases)
2. Download the version which matches your platform
3. Unzip it and store the `upak` file somewhere
4. (Optional) Move the `upak` file to a directory in your path for easy calling

(back to top)

## Usage

Execute the upak file to see usage instructions.

Note 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 `.

### Generate a unity package

Custom Unity package generation is done through `upak pack init`.

```shell
upak pack init
```

It runs you through a series of questions with accompanying explanation, once this is complete it caries out generating the package with the appropriate settings.

This 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).

This 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.

### Download a library from NuGet

Downloading a pre-built library from the NuGet repository is done through the `upak nuget install ` command.

This 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.

```shell
upak nuget install
```

This 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.

(back to top)

## Roadmap

- [ ] Samples generation
- [ ] Modification tools
- [ ] Ability to skip/add/remove assemblies
- [ ] Git repo generation
- [ ] License picking and generation
- [ ] Changelog automation

See the [open issues](https://github.com/errorStream/UPak/issues) for a full list of proposed features (and known issues).

(back to top)

## Contributing

If 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".
Don't forget to give the project a star! Thanks again!

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

(back to top)

## License

Distributed under the GNU GPLv3 License. See `LICENSE.txt` for more information.

(back to top)

## Contact

ErrorStream - [itch.io profile](https://errorstream.itch.io) - [email protected]

Project Link: [https://github.com/errorStream/UPak](https://github.com/errorStream/UPak)

(back to top)