Recently I’ve noticed that the document for PostprocessBuildPlayer has changed. (In Unity 4.5, maybe?) Previously the document explicitly supported bash scripts (shell, python or perl) to be invoked automatically if properly named. Are they still supported nowadays? Or are they a deprecated way to do the post-processing jobs?
Besides, is there an “official” way to hack the generated xcode project if I’m building for iOS devices? I remember that Unity cannot copy RECURSIVELY files in Assets/Plugins/iOS folder, so there are cases when you hope to hack the xcode project file to add files, modify header search paths and so. The way I know is to use “plutil” to convert the project file from Json-like to property list, and then use some plist library (like from python) to deal with it.
Thanks.
Sorry, I have no idea whether the behavior of post build scripts has changed or not in 4.5. But if wanted to suggest that if you’re fine with using Python for some tasks and if you have Unity Pro, then it might be a good idea to consider automating your whole build process using Python and Unity’s BuilPipeline API. That way you can do whatever you want before or after a build.
I have been doing this for a while now using nothing more than Curl, Python and a lightweight, task-oriented build library called Pynt. I’m finding that it’s a lot easier and far more flexible to automate Unity instead of automating from Unity.
PostprocessBuildPlayer was Mac only. It’s always been possible to automate builds and do funky things in script once the build completes, so BuildPipeline is the future. (As @shaderop said.)
So by not using PostprocessBuildPlayer we should not click BuildSettings → Build but use a custom menu to do the build instead?
Yes, implement your own menu or editor window to kick off the build.