name: 'Unity - Builder' author: Webber Takken description: 'Build Unity projects for different platforms.' inputs: targetPlatform: required: true default: '' description: 'Platform that the build should target.' unityVersion: required: false default: 'auto' description: 'Version of unity to use for building the project. Use "auto" to get from your ProjectSettings/ProjectVersion.txt' customImage: required: false default: '' description: 'Specific docker image that should be used for building the project' projectPath: required: false default: '' description: 'Relative path to the project to be built.' buildName: required: false default: '' description: 'Name of the build. Should not include a file extension.' buildsPath: required: false default: '' description: 'Path where the builds should be stored.' buildMethod: required: false default: '' description: 'Path to a Namespace.Class.StaticMethod to run to perform the build.' customParameters: required: false default: '' description: 'Custom parameters to configure the build.' versioning: required: false default: 'Semantic' description: 'The versioning scheme to use when building the project' version: required: false default: '' description: 'The version, when used with the "Custom" versioning scheme' androidVersionCode: required: false default: '' description: 'The android versionCode' androidAppBundle: required: false default: 'false' description: '[Deprecated] Use androidExportType instead. Whether to build .aab instead of .apk' androidExportType: required: false default: '' description: 'The android export type. Should be androidPackage for apk, androidAppBundle for aab, or androidStudioProject for an android studio project.' androidKeystoreName: required: false default: '' description: 'The android keystoreName' androidKeystoreBase64: required: false default: '' description: 'The base64 contents of the android keystore file' androidKeystorePass: required: false default: '' description: 'The android keystorePass' androidKeyaliasName: required: false default: '' description: 'The android keyaliasName' androidKeyaliasPass: required: false default: '' description: 'The android keyaliasPass' androidTargetSdkVersion: required: false default: '' description: 'The android target API level.' androidSymbolType: required: false default: 'public' description: 'The android symbol type to export. Should be "none", "public" or "debugging".' sshAgent: required: false default: '' description: 'SSH Agent path to forward to the container' gitPrivateToken: required: false default: '' description: '[CloudRunner] Github private token to pull from github' githubOwner: required: false default: '' description: '[CloudRunner] GitHub owner name or organization/team name' chownFilesTo: required: false default: '' description: 'User and optionally group (user or user:group or uid:gid) to give ownership of the resulting build artifacts' allowDirtyBuild: required: false default: '' description: '[CloudRunner] Allows the branch of the build to be dirty, and still generate the build.' postBuildSteps: required: false default: '' description: '[CloudRunner] run a post build job in yaml format with the keys image, secrets (name, value object array), command string' preBuildSteps: required: false default: '' description: '[CloudRunner] Run a pre build job after the repository setup but before the build job (in yaml format with the keys image, secrets (name, value object array), command line string)' customStepFiles: required: false default: '' description: '[CloudRunner] Specify the names (by file name) of custom steps to run before or after cloud runner jobs, must match a yaml step file inside your repo in the folder .game-ci/steps/' customHookFiles: required: false default: '' description: '[CloudRunner] Specify the names (by file name) of custom hooks to run before or after cloud runner jobs, must match a yaml step file inside your repo in the folder .game-ci/hooks/' customJobHooks: required: false default: '' description: '[CloudRunner] Specify custom commands and trigger hooks (injects commands into jobs)' customJob: required: false default: '' description: '[CloudRunner] Run a custom job instead of the standard build automation for cloud runner (in yaml format with the keys image, secrets (name, value object array), command line string)' awsBaseStackName: default: 'game-ci' required: false description: '[CloudRunner] The Cloud Formation stack name that must be setup before using this option.' cloudRunnerCluster: default: 'local' required: false description: '[CloudRunner] Either local, k8s or aws can be used to run builds on a remote cluster. Additional parameters must be configured.' cloudRunnerCpu: default: '' required: false description: '[CloudRunner] Amount of CPU time to assign the remote build container' cloudRunnerMemory: default: '' required: false description: '[CloudRunner] Amount of memory to assign the remote build container' readInputFromOverrideList: default: '' required: false description: '[CloudRunner] Comma separated list of input value names to read from "input override command"' readInputOverrideCommand: default: '' required: false description: '[CloudRunner] Extend game ci by specifying a command to execute to pull input from external source e.g cloud provider secret managers' kubeConfig: default: '' required: false description: '[CloudRunner] Supply a base64 encoded kubernetes config to run builds on kubernetes and stream logs until completion.' kubeVolume: default: '' required: false description: '[CloudRunner] Supply a Persistent Volume Claim name to use for the Unity build.' kubeStorageClass: default: '' required: false description: '[CloudRunner] Kubernetes storage class to use for cloud runner jobs, leave empty to install rook cluster.' kubeVolumeSize: default: '5Gi' required: false description: '[CloudRunner] Amount of disc space to assign the Kubernetes Persistent Volume' cacheKey: default: '' required: false description: '[CloudRunner] Cache key to indicate bucket for cache' watchToEnd: default: 'true' required: false description: '[CloudRunner] Whether or not to watch the build to the end. Can be used for especially long running jobs e.g imports or self-hosted ephemeral runners.' cacheUnityInstallationOnMac: default: 'false' required: false description: 'Whether to cache the Unity hub and editor installation on MacOS' unityHubVersionOnMac: default: '' required: false description: 'The version of Unity Hub to install on MacOS (e.g. 3.4.0). Defaults to latest available on brew if empty string or nothing is specified.' outputs: volume: description: 'The Persistent Volume (PV) where the build artifacts have been stored by Kubernetes' buildVersion: description: 'The generated version used for the Unity build' androidVersionCode: description: 'The generated versionCode used for the Android Unity build' branding: icon: 'box' color: 'gray-dark' runs: using: 'node16' main: 'dist/index.js'