unity3d uses C# and it runs on OSX.

in my opinion the biggest disadvantage of C4 is that it doesn't come with support for a scripting language like unity3d or gamestudio. the node based C4 scripting is so limited that i wouldn't call it scripting.

it's not that i would be totally unable to use C++ (i have some C++ experience) but C++ is an ugly language and no fun to work with. the performance of C++ isn't needed for most gameplay code so why should i use C++ instead of a scripting language.