Download

Use C# to script in Unreal Engine 4 now, courtesy of Xamarin

Here’s a link.

Here’s the direct link: http://mono-ue.github.io/ Looks really interesting, especially as they flesh things out.

Now the real question. Will this support compilation to native code ? Or will mono be stuck in byte code for, who know how long ?

In any case it’s interesting. Though I don’t know how much more useful it would be for me over C++.

How much does it cost? :slight_smile:

According to this page, Mono has compilation to native code. If it works with UE4 is another question.

I’m looking forward to this as an option :slight_smile:

While it’s for sure very interesting, there are still some things they don’t mention on their website.

  • What is the pricing model and under what license will it be released? If I recall correctly the mono runtime for instance used a LGPL license in the past…
  • How fast do they plan to update when new UE4 versions get released.
  • They only mention Xamarin Studio and MonoDevelop on their website, but can you use Visual Studio and are there any limitiations?

I also think they should have worked more closely with Epic from the beginning, there are quite some problems that could have been addressed earlier to make it more user friendly:

  • You need to compile the engine by yourself so mono gets integrated correctly, but some users prefer the binary versions (myself included). They should have integrated it into the engine (with the help of Epic) or provided it as a plugin instead.
  • The authentification when you try to download is kind of strange. It would have been much more user friendly to just enter the UE4 user name and the authentification check is done somehow automatically in the background.

But all in all I really like the idea of using C# as an alternative to C++ for game code, if it doesn’t impose too many restrictions! :slight_smile:

Looks like you license Mono separately based on the platforms. They do offer commercial, non-GPL licenses

[QUOTE]
[li] How fast do they plan to update when new UE4 versions get released. [/li][/QUOTE]

I think they are leaving that up to the community. The plugin itself is open sourced.

Same limitations their licenses use: you have to pay ($1000 a year) for VS support.

If you are already using VM style coding e.g. Blueprints, and you want a text based coding option, this is perfect.

Isn’t C# a failed microsoft tech like visual basic? and one thats considered slower and inferior to C++ when it comes down to critical things like game design and drivers etc?

I mean in Computer Engineering class at college here we are taught that C is the best language out of them all especially for embedded stuff. But I don’t think they use C for game design.

Offcourse the legendary ESET NOD 32 anti virus is made almost entirely out of Assembly Language. And it just so happens to run on a crappy intel atom CPU at the speed that bloated trashy spyware sorry Anti Virus Norton end point would run on a i7

if you read about C# scripting over at Unity forums you would see people complain a lot and request that the unity 5 be made for C++ scripting.

Awesome!!!

C# most certainly is not failed (neither is VB for that matter, given how hard it’s been to shake out of enterprise), and inferiority is entirely contextual. You would never write a kernel in C#, for example. Math is also generally slower, as certain compiler and hardware optimizations are impossible. But it’s generally fantastic for handling data, UI, and other event-driven cases: which generally makes it a good solution for high-level game logic. It’s not terribly well suited for low-level logic, though, which is where Unity shows its weakness. Ideally, you’d have both, and with this, that might actually be possible.

I doubt many people would consider it a “failed” language. It is widely used in a number of domains. C# is a higher-level language that is certainly not well suited to some tasks, such as (as you point out) writing low-level code like device drivers. But, it’s a pretty decent language for writing application logic. It offers a nice middle ground between low level languages like C and C++ and higher level interpreted languages. It is certainly no slower (and is probably faster) than Blueprint in UE4.

C is the best language traditionally for embedded work because it’s low-level and low-overhead while being far more accessible and portable than assembly. Embedded systems programming is generally very resource constrained, and the overhead of a runtime component or interpreter is generally far from trivial. It’s hardly comparable to game development on modern computer hardware.

Is “C is the best language out of them all”, though? Hmm… Is it important? Yes. Should you learn it? Absolutely. Whether it’s best depends on what your’e doing. There are many tasks where it is most certainly not best. If it were, we’d all be using it for everything.

I hear the price of tea in China is running quite high.

What most Unity developers complain about is not having a language that compiles to platform native code and/or not having access to the underlying C++ code of the engine. Nobody’s looking for “C++ scripting”. Honestly, most of them don’t need access to the engine code or the ability to write platform-native code, but the ones who do are in a bad situation.

In terms of Unreal, C# wouldn’t be a replacement or even a competitor to C++. It would essentially be offering a way to do the application-logic programming that many people currently do in Blueprint but using a textual language.

Though I’ve done C#, I couldn’t see myself using it with UE4. Despite that, I can’t see it doing anything but helping the platform.

What are they teaching you at this place?

It’s an abstraction layer and the reason why it’s “slow” in Unity is because they are using a version of Mono from the dinosaur era that has garbage collection issues. It’s not C# that’s the issue, it’s the old version of Mono two completely separate things. Don’t worry you’re not the first or the last to get them confused…

C# as a whole is very fast, engines have been made in it with little impact in current computing environments… I’d probably be slightly more concerned if we were back in the days of 80286’s with a “Turbo” button. But technology is far on even with mobiles having quad cores.

If you can make C# perform badly for engines or scripting alike, you have done something wrong.

Depends on what platforms you want to develop for I believe :slight_smile:

Link

Does someone know if this works with UE4 4.5?

It says on the page works up to 4.5.

Hope that I have helped :slight_smile:

  • HeadClot

It’s 4.5 .NET not Ue4. They say it works with 4.4.

They have made custom patches to 4.4


git am Engine/Plugins/XamarinUE4/Patches/*

Ah my bad. :expressionless:

Sorry about that.

Ever heard of Singularity OS ?

Sorrry for side tracking :D.