Skip to content

Plugins & Dependencies

The build pipeline uses C# Build Plugins distributed as NuGet packages. To add plugins, define them in a nuget.yml file under Build/Pipeline/.

Project structure

my_project/
├── Build/
│ ├── Pipeline/
│ │ ├── values/
│ │ │ ├── android/
│ │ │ │ └── gradle.yml
│ │ │ └── product.yml
│ │ └── nuget.yml
├── src/
│ ├── ...
└── ...

Defining dependencies

List your NuGet packages in nuget.yml under the dependencies section:

dependencies:
- name: BuildPlugins.Unity
version: 1.*
- name: BuildPlugins.Android
version: 1.*
- name: BuildPlugins.IOS
version: 1.*
- name: BuildPlugins.SaveArtifacts
version: 1.*

You can also reference a local .csproj or a Git repository instead of a published version:

dependencies:
- name: BuildPlugins.Android
local: "path/to/my/project/Android.csproj"
- name: BuildPlugins.IOS
git:
url: https://github.com/tactilegames/build-plugins.ios
branch: my-branch
- name: BuildPlugins.Unity
git:
url: https://github.com/tactilegames/build-plugins.unity
commit: c92c4c52fa9cde0a9f2c66166f2b9957c2fc44a3

Source types

SourceDescription
versionPulls from the NuGet registry. Supports wildcards — 1.* gets the latest within major version 1, 1.1.* gets the latest within 1.1.x. May include pre-release labels (-alpha, -beta, -rc).
localDirect reference to a .csproj file. Changes are reflected on the next pipeline run — useful for development and testing.
gitClone from a Git repository by branch or commit hash. Useful when a NuGet package isn’t published yet.

Configuring plugins in the pipeline

Reference plugins by their NuGet package name in the pipeline definition:

plugins:
- name: BuildPlugins.Unity
- name: BuildPlugins.Android
- name: BuildPlugins.SaveArtifacts

Grouped dependencies

For simpler setups where you have few pipelines or don’t typically share Build Plugins, you can declare dependencies inline using dependency.name:version:

plugins:
- name: BuildPlugins.Unity:1.0.0
- name: BuildPlugins.Android:1.0.0

This avoids creating a separate nuget.yml file by combining the dependency declaration and version in one line.