I already caught up a bit. I saw the preview for the new input system. Also the Asset Store godsmacked me that Unity recently got GameWorks grade extensions, too. Like real time global illumination and unified particle based physics. I thought that such tech only would be available to AAA engines like UE4.
Needles to say that I find the “Adam” tech demo quite impressive. It is very nice to see that with each tech demo Unity is getting better and better with its graphics.
I look forward to the cinematics editor “Director”. Also the F# plugin looks very interesting, too. It is kinda funny how some, view F# even as a “replacement”, or “successor” to C#. It’s funny because I do have the same feeling, I just can’t really tell for sure because I lack F# programming experience myself.
I found F# Kit that seem to make Unity more F# friendly.
Nerve said in the Feedback section for the implementation of F#:
"F# is a very cool language, casting a wide net with paradigms, sprinkling on some syntactic sugar, and being far less verbose than C# in general, while maintaining readability. And for large projects like games, its functional-first attitude allows more much more effective multithreading and code safety.
I am all for this. F# seems like a worthy successor to C#, which has run its course and done an excellent job doing so."
Sounds like you are looking at the marketing hype and not the engine as it is today. The new input and director are still under development, without firm ETAs.
Global illumination is real, and in the engine. PhysX also got an upgrade.
As to what’s changed, the main new push has been services. Unity has built in analytics, cloud build, ads, IAP, and a bunch of other cool stuff.
That leads me to the next question. Does this actually compile and run F# code in game, or does it do some backend stuff that converts F# into C# while running.Sounds more like that. As isn’t C# and Unityscript built in stuff with Unity?
I’d advise not to buy into hype, especially if this is only one person praising the language.
Overall it looks like another homebrew bastard child of few languages from ML family. Since it apparently tries to be another functional language, I’d expect abundant garbage generation and most likely poor performance on mobile platforms.
Don’t get me wrong, I’d be very interested if someone provided proper common lisp or prolog bindings for unity, for example, but since it is another of those “let’s make our own language with blackjack and …”, I’m very skeptical about it.
Unity doesn’t do it automatically. Unity can however except pre compiled dlls in IL. So as long as you can find a compiler to translate your favorite language into IL you can technically use any language.
So in theory I could use C++ and get the speed of C++?
I don’t want to do that, I love my C#. But hey for the people who complain that the ‘Other’ engines have C++.
Then they could just put C++ on here and go about their way lol.
Well, at one point, UT overhauled the forums with some new system, it broke a bunch of features, people became outraged, UT fessed up to the mistake, apologized, and reverted back to the old forums, and users praised them for listening… So there’s that…
We may have also left some “subtle suggestions” in the feedback thread created after the revert that Lithium may not be well received in the future and that they may want to investigate alternatives.
I wished that I had witnessed the end times, though.
Yeah, I’m not going to up vote that implementation request for F# just yet. Not before I learned more, of course. However, regarding the performance. F# came out in 2005 and is created by Micro$oft. So I goes since it is now 11 years old, M$ could have managed to do some decent optimization. It’s not like that M$ is a stranger to the creation of programming languages.