Well, i have to admit that unity is awsome (UnityScript and C# support.) but including a C++ support would make it easier for people who have worked with other engiens as well as going to other engines.
(sorry if my english is bad).
Do you think guys, it’s almost impssible to support C++ by unity (not with that dll crap thingy) ?
If you honestly can’t handle C# then I don’t see how you were any good at C++. Any programmer used to C++ can easily command any of the unity languages and master them within a day, else they weren’t actually as good as C++ as they thought.
Just use C# and stop holding yourself back. The argument “helps us who use C++ in other projects” really doesn’t wash when syntax wise they’re virtually identical.
Compiled C++ is faster than C# Mono but most of the heavy lifting is done by Unity, Physics, Sound, Graphics, Loading Resources, Pathfinding and Networking. All we are doing is adding the game logic in c#.
Combined with the fact that most hardware is just getting faster and faster thanks to Moore’s Law.
I think the only reason you would really need C++ would be for a very large scale game or simulation, and if that’s the case you are probably better off using a server/client approach where the server runs the game/simulation in C++ and the clients display the game via Unity e.g. MMO’s.
Thing is they did have a possible working version of C++, at least for iOS, back when there was that big fallout from Apple trying to prevent Flash being added to iOS devices and in changing their TOS to avoid it, it also ended up blacklisting Unity and similar game engines. In a Unity blog at the time they said one of the ways around this was to have everything compile natively to C++ and that they had been working on it.
Of course Apple eventually relented and Unity ensured its products could still be used on iOS, so nothing more was done. Its a shame as having the option to include C++ without resorting to additional plug-ins would be a really nice feature, especially for web players and where code performance is critical.
The C++ would have been for iOS only.
Other platforms, when talking about it, were made clear to not get it or to cross compile to .NET, which would have negated any imaginary performance gain.
The webplayer would not have gotten native code no matter what as there is only a single unity plugin and thats the only place where native code can happen. If you want webplayers where ever game has its own plugin installations without a reasonable install base in consequence and love to use C++, I can highly recommend T3D 1.2 MIT
As a side note, Mono latest runtime version is slower than his counterpart (MS .net) and Unity is using an even slower/older version of Mono which makes thing a bit to desire…
Yeah Unity is doing all the heavy work lifting but that’s just a general case. Games that manages lots of NPC logic (RTS with 200-300 units on screen for example) requires a heavy optimization and developers to manage their own memory. I’ve run into some performance issue with my game code and I cannot make it more faster than it is (it’s starting to become less elegant and quite spaghetti-hacky for the sake of making it running a bit faster). I’m pretty sure it could run way faster under native circumstances.
I think the huge problem with Unity Mono right now is the GC, hopefully Unity will get the latest version of Mono soon.
so, i can say that the usage of an old mono version (btw, by mono you mean the .net framework ?) makes compiling a lot slower and worse (including it’s an intermediate language)
going back to c++, it’s a more used language by famous engines (UDK uses c++ and US wich is a modified c++, cryengine3, …) and compiling it is faster than C#.
Why do you care about the compilation? That’s done automatically in Unity. In the case that you a lot of code and the compilation is too slow because of that, you can create a managed dll for parts of your code to make it faster.
Hec, David Helgadson himself posted on twitter (not long ago) about developers creating mini-engines on top of Unity. We are one of them. We’ve build a framework for our current game on top of Unity. But still feel it could be faster. I’m running a hellish critical operation intensive part of our game in C#.
Having support for C++ would led bigger players get into Unity easier. If there’s something I’ve always enjoyed with Leadwerks is their C++ support.
In some other thread where this was discussed I remember someone from Unity confirming they’re working on it but tests so far haven’t shown significant improvement.