Why C++ for Unreal 4?

[]
Revision control usually doesn’t work well with binary files. If blueprint files are binary, then a special tool of some kind is necessary to diff them and merge changes properly.
[/]

Yeah, yeah, you can’t diff binary files meaningfully or merge them, but you can still keep historical versions. Since I have actually used Git, Subversion, StarTeam, and CVS in commercial production environments I can tell you that even this rudimentary functionality is a life-saver. Just being able to easily revert back to a working version is helpful. If you need some sort of actual binary merge/diff tool then I’d recommend an add-on/plug-in anyway - how is any VCS supposed to deal with every possible binary data format on the planet?