I was gone for a year. What did I miss?

I moved from UE4 back to Unity.

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.

@SouldomainTM : That’s a first I heard about F# on Unity. Where do I find out about this?

I haven’t done F# either, but I have looked into it. Just never had a push to do it lol.

@N1warhead_1

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.

1 Like

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?

You missed lithium apocalypse.
Aside from that the engine hasn’t changed much.
There are few experimental builds that might be of interest, but it is unknown when their features will be integrated into stable release.
http://forum.unity3d.com/threads/mixed-mode-fixes-and-lighting-window-preview-1-try-it.424991/

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.

2 Likes

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.

Most people don’t bother and simply use C#.

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.

There is a managed C++. Only one way to know for certain. :stuck_out_tongue:

1 Like

Yes you can use C++. No it won’t give you much of a speed boost.

You still have to compile it to IL. This still puts it firmly into .NET and memory management.

1 Like

Only to compile it back to C++ depending on the platform. I’d love to know the impact that has on the code. :stuck_out_tongue:

1 Like

Yup. Compiling from C++ to IL to x to y to z to C++ again is probably going to mangle hand crafted optimisations.

No, I’m aware that Director and the input thing ain’t coming out too soon. But I can wait. :slight_smile:

I don’t own that F# Kit extension. But in the future, just for the fun of it, I will buy it and learn some F# with Unity.

You can find the extension thread for that F# extension here.

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…

4 Likes

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. :stuck_out_tongue:

3 Likes

I wished that I had witnessed the end times, though. :confused:

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.

I thought F# was the Java with MS extensions that eventually turned into C#. I didn’t realized they reuse programming language names.

GPU Instancing

You mean stuff like instanced static meshes for higher frame rates?

Yah. I know they had batching before but this time it can do over 300 polys I think up to 32x objects in a single drawcall.