C# implementation?

So I have been developing in Unity for some time mostly for fun, never releasing anything.
Big part of the reason why is because I find Unity kind of unreliable (specifically it’s physics engine), and as an overall C# developer I really don’t want to restrain myself to .Net 3.5.

That pretty much lead me to asking, why couldn’t UE4 implement C# development through .Net Core? Or better, why wouldn’t UE4 want to implement C#?

As far as I know it’s open-source, and it’s goal is pretty much getting C# across all platforms, but with full backing from MS, which solves the problems of the full .Net being Win only.

If what I get from this is true, then it would be quite a good thing to implement, and would make a lot of people happier, right? I find C# really attractive just because of the fact it’s one language with which you can do modern win 10 apps (not the best choice IMHO), ASP.NET websites (or like i do Angular 2 front-end + ASP.NET back-end), old-school apps for windows, MonoGame for more direct game making and Unity showed it’s possible to do games easily aswell.

What I am getting at is that I think a lot of people would prefer having C# for all this and UE4 over having to learn C++ just because of UE4, and I think that .Net Core libraries are a lot easier to understand than many of the c++ things, even though some people hate the verbosity.

Quick heads up - this has been discussed a lot in the past and is simply not going to happen (at least directly from Epic).

It also often degenerates into a C++ vs. <insert language here> kinda thread :slight_smile:

Thought you should know.

I laughed when I read this.
So you basically say “I come from Unity and learned C# for Unity. Now I want to use C#, because I came from Unity and don’t want to learn C++, because Unity used C#”

C# in UE4 will never happen from Epic’s side. A third language Support delays the main development of the Engine.

So, can you go ahead and lock it then?

At the moment I would personally only do that on request of the OP or Epic staff member.
OP is free to ask their questions.
People are free to respond.
No need for a moderator to get all lock-happy unless they need to be :slight_smile:

You dont need learn c++. The script lenguaje in Unreal is blueprints.

Invest 20 years writing something in C#. Then I’ll go to your site and ask why can’t you redo it in Python instead.
I’m pretty sure you could port it in like 20 days, right.

It is a middle ground for us who don’t want to compile C++ though. Even CryEngine 5 added C# implementation.


More to the point, those people asking for C# are not asking for C#. They are asking for Unreal scripting to match Unity scripting. Unreal C++ isn’t C++. It is so heavily buried in macros and libraries that it is a scripting language. Even if it was C#. It would be nearly identical. A port to C# is useless. An alternative to Blueprints however would be fantastic (sorry Skookum, I just don’t like that solution).

It is an interesting thought but most languages are the same I see no reason why it would be too difficult to learn C++ after learning C#. You know what you need to do you just need to learn the syntax to implement it. After you learn 2 or 3 languages you can pretty much learn anything with a syntax cheat-sheet.

Okay so let me say it a little better.

I don’t want unreal to be like unity, I want unreal to have a c# way of scripting.

Why? I don’t know how well Unreal is with it’s C++ but when I write something in C#, it’s not about how many lines I’ve written in it, because I can see what the author of that or other library/framework wanted to get through just from intellisense comments. That is the reason I’ve given up on C++, I wasn’t able to do that, and I am not the type of person to research something for months just to know how to use it.

,Invest 20 years writing something in C#. Then I’ll go to your site and ask why can’t you redo it in Python instead.
I’m pretty sure you could port it in like 20 days, right."
Well of course I would do it if Python was wanted by enough, or would bring enough people? + I don’t believe I’d have to redo it, just improve it by adding the functionality.
And who is asking UE to do it in 20 days? as far as I know the question of C# has been there for several years, and I am not expecting it now because of someone mentioning it 2 years ago, but I would like it.

And while you may be right it has been discussed and I have seen Mono implementations from third party, Mono was still a copy of .Net, which by definition even I wouldn’t build my stuff on, but I wanted to revive the question because of the open-source .net core reveal/release/whatever. I kind of thought it would make a few stuck C++ developers lose their reason for flaming it.

Yeah but still it’s C++ that you compile.

Yes I know; I think is that they themselves can’t understand this. It’s not C# what they want; they want to have the same functions you use in Unity scripts…

Exactly. This isn’t going to happen. I think a portion of them though just want a built in scripting language like blueprint w/o the drag and drop. I wouldn’t mind that myself.

They said in a live video that they are full aware of C# capability but they do not internally use it, therefore if you want it you need a third part plugin that currently does not exist.
Learning from the past I can tell you that this posts fills up by non-professional fanboys who doesn’t even know C#, and pretty soon a moderator will close this down.
Your options are to learn C++ and buy a visual studio extensions to improve c++ intellisense (do not expect too much cause in most case it’s not really intellisense but a text based approach), or go back to Unity. Cryengine is quite complicated for an indie and blueprints are not up to the task.

When I switched from Unity to Unreal I was also badly missing C# and I was asking myself why it is not supported??? In 1 month that wish disappeared, and I’m very happy with C++/Blueprints. At the end of the day, the best language is the one that pays your bills, right? If UE would support only whatever other language, I would learn it too. We use UE not because of C++/Blueprints, but because of what this engine can provide to get the job done. What language it is using is secondary; otherwise, what would the the point the start with to switch from Unity???

Well yeah, I wanted to switch to UE because it has way superior physics, lighting and from my experience even performance… but if devs are not even considering the C# question then it’s pretty much the end.

As MaxiHori said, intellisense is what I miss when programming in UE, which is the major let-down of UE for me. It can be a really good engine, but in the end I hoped for at least a little user friendliness.

You can probably lock this, nothing new coming out of this thread it seems.

Consider it done.