Simplifying build builds in Unity3D
Most recently, I realized that with the increasing number of finished projects, more and more time has to be devoted to building builds. It cannot be said that the unit somehow complicates this process, but certainly does not simplify it. Especially when each project is built for several platforms and even in different configurations. In principle, the problem is not new and has many different solutions. But for a number of reasons I stopped at writing my own plugin.
It looks like this:
And why, why, where to get and how to use, I will tell below.
what did I get . You have already familiarized with the main mechanisms of the plug-in operation, therefore, further on some features: 3r-3320.
Variants are added to the selected collection using a check mark to the left of the name.
Build path must be specified with the extension. I did not find a complete list of extensions for all possible BuildTarget, so I left it for now.
Moving files is inherited in the same way as settings.
Not implemented diff arrays. Therefore, if in the inherited version you have changed something in the list of scenes, then the entire list will be replaced entirely. For good it will be necessary to refine.
Actual project settings diff is a list of all the differences of the selected option from the current project settings. Moreover, if the active option is selected, the changes in the current settings can be undone.
Variant settings are respectively individual changes in the selected option, excluding parental changes.
When you activate the option, all unsaved changes in the project settings will be lost.
If there are unsaved changes in the project settings, then any attempt to build a build through the plugin will end with an exception. Because see above, and as we remember, the build of the build should not change the current state of the project.
The plugin can be used with the build server. To do this, there are static methods: BuildVariants.Controller.BuildController.BuildAll, BuildVariants.Controller.BuildController.BuildCollection (with the collection name in the -collection parameter) and BuildVariants.Controller.BuildController.BuildVariant (with the name of the option in the parameter, which is used to be used in the same parameter, and in the same parameter, the same parameter is used in the same parameter, which is used to be used in the same parameter, and the same parameter is used in the same parameter, and is used in the parameter, which is used in the same parameter, which is used in the parameter, which is used in the parameter, which is used in the parameter, which is used in the same parameter. It will look something like this:
3r3198. $ unity_path -batchmode -projectPath $ project_path -quit -logfile -executeMethod BuildVariants.Controller.BuildController.BuildCollection -collection standalone
For archiving, the plugin has another dependency in the form of the DotNetZip library.
The plugin was written in the conditions of a small working lull, so there has not yet been an opportunity to test and temper it in fierce battles. There may be bugs, perhaps even bad and unpleasant.
Of course, I want to feed the plugin with features to infinity, but it's time to return to real projects, and at the same time test the existing functionality. A little later, I want to apply UIElements for newer versions of the unit, I hope this will make everything more beautiful and comfortable. I would also like to tie in versioning and some semblance of environment variables. Maybe the public will tell you something else in terms of functionality or usability.
Therefore, I will be glad to any wishes, comments, questions and bug reports. Easy builds to you!
It may be interesting