@akiojin/unity-command
TypeScript icon, indicating that this package has built-in type declarations

1.4.1 • Public • Published

unity-command

A package to control Unity from the command line.

Installation

npm install @akiojin/unity-command

Usage

import { Unity, UnityCommandBuilder } from '@akiojin/unity-command'
const builder = new UnityCommandBuilder()
builder
    .SetBuildTarget('iOS')
    .SetExecuteMethod('MyEditorScript.PerformBuild')
    .Append([ '-CustomCommand', 'Param' ])
...
const exe = Unity.GetUnityPath('2021.2.7f1')
execa.execa(exe, builder.Build())

Reference

class UnityUtils

static GetCurrentUnityVersion(projectDirectory: string): string

Description

Returns the Unity version set for the given project.

Arguments
Name Type Description
projectDirectory string Unity project directory path.
Return
Type Description
string Unity version. (e.g. 2021.2.7f1)

static GetUnityPath(unityVersion: string): string

Description

Get the path to the Unity editor executable.

Arguments
Name Type Description
unityVersion string Unity version to be used
installDirectory string Unity installation directory path.

The installation directory, if omitted, is obtained from the environment variable UNITY_HUB_INSTALL_DIRECTORY. If the environment variable UNITY_HUB_INSTALL_DIRECTORY is not set, it is taken from the default installation directory.

Return
Type Description
string Unity app path (e.g. /Applications/Unity/Hub/Editor/2021.2.7f1/Unity.app/Contents/MacOS/Unity)

class UnityCommandBuilder

The following parameters have already been added by default when the instance is created, so they do not need to be added.

  • -batchmode
  • -silent-crashes

DisableGPUSkinning(): void

Description

Disable Graphics Processing Unit (GPU) skinning at startup.

SetExecuteMethod(executeMethod: string): void

Description

Execute the static method as soon as Unity opens the project, and after the optional Asset server update is complete.

Arguments
Name Type Description
executeMethod string <ClassName.MethodName> or <NamespaceName.ClassName.MethodName>

SetJobWorkerCount(count: number): void

Description

Specify the maximum thread count for the Unity JobQueue Job Worker Count.

Arguments
Name Type Description
count number the Unity JobQueue Job Worker Count.

SetLogFile(logFile: string): void

Description

Specify where Unity writes the Editor or Windows/Linux/OSX standalone log file. To output to the console, specify - for the path name. On Windows, specify the - option to direct the output to stdout, which by default is not the console.

Arguments
Name Type Description
logFile string Path name

DisableUPM() : void

Description

Disable the Unity Package Manager.

Activation(username: string, password: string): void

Description

Activate the Unity Editor.

Arguments
Name Type Description
username string Enter a username into the log-in form during the activation of the Unity Editor.
password string Enter a password into the log-in form during the activation of the Unity Editor.

SetProjectPath(projectPath: string): void

Description

Open the project at the given path. If the pathname contains spaces, enclose it in quotes.

Arguments
Name Type Description
projectPath string Project path

EnableReleaseCodeOptimization(): void

Description

Enables release code optimization mode, overriding the current default code optimization mode for the session.

EnableAPIUpdater(): void

Description

Use this command line option to specify that APIUpdater should run when Unity is launched in batch mode.

SetBuildTarget(target: string): void

Description

Select an active build target before loading a project.

Arguments
Name Type Description
target string Standalone, Win, Win64, OSXUniversal, Linux64, iOS, Android, WebGL, XboxOne, PS4, WindowsStoreApps, Switch,tvOS

EnableCacheServer(endpoint: string): void

Description

Tells Unity to use the newer Accelerator Cache Server. This overrides any configuration stored in the Editor Preferences. Use this to connect multiple instances of Unity to different Cache Servers.

Arguments
Name Type Description
endpoint string Specifies the endpoint address if you are using the newer Accelerator Cache Server.
Example: 127.0.0.1:10080.

DisableManagedDebugger(): void

Description

Disables the debugger listen socket.

EnableDebugCodeOptimization(): void

Description

Enables debug code optimization mode, overriding the current default code optimization mode for the session.

SetStackTraceLogType(type: string): void

Description

Allow detailed debugging. All settings allow None, Script Only and Full to be selected.

Arguments
Name Type Description
type string "None" or "Script Only" or "Full"

Append(arg: string): void

Append(arg: string, param: string): void

Append(args: string[]): void

Append(arg: string | string[], param?: string): void

Description

Add an argument.

Arguments
Name Type Description
arg string | string[] Commands to pass to the Unity command line
param? string Parameters to be added to the command

Build(): string[]

Description

Returns an array of arguments to be passed to the command line.

Return
Type Description
string[] Argument array

Readme

Keywords

Package Sidebar

Install

npm i @akiojin/unity-command

Weekly Downloads

1

Version

1.4.1

License

MIT

Unpacked Size

139 kB

Total Files

18

Last publish

Collaborators

  • akiojin