Due to some maintenance issues, this service has been switched in read-only mode, you can find more information about the why

and how to migrate your plugin documentation in this blogpost

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Plugin Information

No information for the plugin 'unity3d' is available. It may have been removed from distribution.

A problem, An idea ?

Please use our tasks and issues tracker to report bugs, improvements or new feature.

Also if you want to propose some code change using a Github pull request, please open also a Jira issue. It is easier for developers to track them.

Unity3d is a powerful 3d game creation editor and engine that runs on Mac and Windows.

This plugin adds the ability to call the Unity3d Editor from the command line to automate build and packaging of Unity3d applications.

The plugin was tested with unity3d 3.4.2 and unity3d 3.5 beta. Tested on distributed and single server environments

Table of content


Automating Unity3d builds from the command line is possible. There are a few problems though:

  • the unity runner writes its output to a separate log file, instead of the output
  • tool and file locations are platform specific
  • only one project can be built at a time per machine


This plugin aims to make it easier to run Unity3d builds easily in Jenkins, by adding the following features:

  • log file redirection
  • distributed builds


Installation guide

As Unity3d is multi-platform, you may need to install the proper third party OS & tools (Android SDK, XCode, etc) depending on the type of build targets you intend to exercise.

Install the latest version of the plugin from the update center and configure a freestyle job (see #Usage Guide). If necessary restrict the job to the node(s) that will perform the build(s).

On the node(s) you are going to build Unity projects, add at least one unity3d installation (Manage Jenkins -> Configure System) and configure the location of the Unity3d installation. Typically /Applications/Unity/Unity.app on Mac OS X.

Usage guide

The plugin assumes you've created a special Editor class with at least one method responsible for your build.

Here's an example extracted from one of our projects:

class YourEditor {
        static string[] SCENES = FindEnabledEditorScenes();

        static string APP_NAME = "YourProject";
        static string TARGET_DIR = "target";

        [MenuItem ("Custom/CI/Build Mac OS X")]
        static void PerformMacOSXBuild ()
                 string target_dir = APP_NAME + ".app";
                 GenericBuild(SCENES, TARGET_DIR + "/" + target_dir, BuildTarget.StandaloneOSXIntel,BuildOptions.None);

       private static string[] FindEnabledEditorScenes() {
                int countEnabled = 0;
                foreach(EditorBuildSettingsScene scene in EditorBuildSettings.scenes) {
                        if (scene.enabled) countEnabled++;
                string[] editorScenes = new string[countEnabled];
                int idx = 0;
                foreach(EditorBuildSettingsScene scene in EditorBuildSettings.scenes) {
                        if (!scene.enabled) continue;
                        editorScenes[idx] = scene.path;
                return editorScenes;

        static void GenericBuild(string[] scenes, string target_dir, BuildTarget build_target, BuildOptions build_options)
                string res = BuildPipeline.BuildPlayer(scenes,target_dir,build_target,build_options);
                if (res.Length > 0) {
                        throw new Exception("BuildPlayer failure: " + res);
User/OS setup

On Mac OS X, the user running needs to be logged in otherwise the Unity3d editor might fail to acquire the graphical resources. FIXME add a log.

Setting up a build step

Add the Unity3d build step to a free-style project, select the unity3d installation and set your command line arguments (e.g. -quit -batchmode -executeMethod YourEditor.PerformMacOSXBuild). If you do not specify -projectPath, the plugin will use the current workspace. You may want to add an extra step to clean the project before you build to make sure the build starts in a clean state.

If you want to build for iOS, you will have to add extra build steps to trigger xcode build. This step isn't covered here.

Unity3d Builder configuration parameters


Since version


command line


The full command line, the builder adding the -projectPath if it isn't specified

Known issues

type key summary assignee reporter priority status resolution created updated due

Data cannot be retrieved due to an unexpected error.

View these issues in Jira


Version 0.1 (DEV IN PROGRESS)
  • live redirection of the Editor.log file into the console
  • supports distributed builds
  • automatically adds the -projectPath command line
  • No labels