Supercharge Unity's command line execution, allowing execution of methods with arguments.
Command Line Execution - Run Unity from the command line, execute methods with arguments.
Install directly from the Unity Asset Store (FREE).
UCmd.dll
.Unity can be launched from the command line. This is useful for CI/CD cases (automatically building your project on a build server).
It works by supplying the name of a static method using the -executeMethod argument:
Unity -executeMethod MyClass.MyStaticMethod
MyStaticMethod must be defined without any arguments, so if the build requires any additional data, it must be extract from the command line arguments inside this method:
private static void MyStaticMethod()
{
// Extract any additional arguments from the command line
var platform = GetOptionFromCommandLine("platform");
var data = GetOptionFromCommandLine("data");
}
With UCmd, the same syntax is used, but the method executed is UCmd.Run:
Unity -executeMethod UCmd.Run MyClass.MyStaticMethod
Now it's possible to execute methods that take additional arguments.
UCmd acts as a "middle man", using reflection to invoke the required method and passing it the arguments from the command line:
Unity -executeMethod UCmd.Run MyClass.MyStaticMethod "Android" "1.0.0" "data"
And the method definition:
private static void MyStaticMethod(string platform, string version, string data)
{
// Build code here
}
For support or any additional feature requests, please report an issue, or conact me directly: [email protected]