Can sombody help me with implimenting C# into UE4 ?
because I want to download earlier that Mono thing
but I need ‘parent hash’ but the link isn’t working
anymore (error 404) to get that ‘parent hash’ on github.
Please help me out of this.
The UE4 Eula requires language integrations to be open source and incorporatable into the Engine whenever Epic wants it, and Mono is just not. So I guess the implementation Xamarin started will not be continued by them.
But Microsoft has put the core CLR and some class libraries under the MIT license, so it might be C# support is coming from this angle once what Microsoft made public is more complete.
From what I understand, C# (or any language other than C++) will never be a first class citizen in UE4. This means your overall development experience will be easier if you just hunker down and use C++.
Don’t get me wrong though – I’m feelin ya on the C# thing. I use C# for my day job and yes, in a perfect world, I’d love to use C# everywhere. There also (though I don’t have a ton of deep knowledge on this) is a cost associated with dealing with the run-time, though Unity seems to deal with it, though I only know that because I’ve played some good Unity games.
And from a technical perspective, I imagine maintaining some kind of C#/C++ interop layer would be a nightmare, though I’m sure there are plenty of tools for mostly dealing with that sort of thing.
If you’re already used to working with C#, adapting to C++ really shouldn’t take long. They’re both very C-based languages and since you’re working directly with the given API almost the entirety of the time you work within the game engine, the differences would be pretty minor.
I agree with ambershee. It’s really not all that bad. To really gain any advantage using C#, UE4 would probably have to be built from the ground up to utilize all the language/runtime features. So, in the end, you really aren’t gaining much by using C#. As a developer, I couldn’t justify all the work it would take to integrate (and maintain!) C# into UE4 – the return on the investment just isn’t there. If I really needed to use C#, I would probably just use Unity.
The way I see it is that while C# is bashed by the C++ masterrace, fact is it’s more compact. Point being that C# would be perfect for managing non-technical things like inventory,experience,damage and other background systems in games. C++ gives more low level control and you can do more things with it, but no matter what people say, in my mind C++ will always be a language for engineers. I think for a game dev C# can be an effective substitute. However, UE4 does have Blueprints and this somewhat alleviates the need to C++.
I came to UE4 from Unity. I had learned some Unreal Script in UDK before Unity but C# was my first really programming language.
At the start C++ was super scary for me but after a week of staring at code I realized that it wasn’t C++ that had me stumped, but the actual architecture of UE4 which is something you need to learn regardless of the language you’re using.
I’d recommend spending a couple of weeks focusing on blueprint to learn the architecture, then start porting code to C++ by creating the same class in code and inheriting it with blueprint to keep your code working while you learn. Google “UE4 C++ how to insert topic here” to get familiar with the api and use the C++ starter templates to get a handle on the basic code you’ll need at the start of every project such as Ticking, User Input, BeginPlay, etc.
tldr;
The api and class structure is the big hurdle, C++ is the easy part.
Wish I could like this post, it’s not like you have to deal with mem management or anything unless you’re doing something funky and seriously I use BP’s for pretty much everything anyway. I’m used to C++ and it’s more C++ light for the main things. Which is cool because C# can be ridiculously verbose some times, give it a shot and see if it gels with you OP.
As said the biggest hurdle is using the API the way Unity or EPIC want you to.
Epic has made working with C++ in UE4 very accessible. It can be highly abstracted, but it’s still C++, so you can do whatever you want to a point (including shooting yourself in the foot.)
Another point for C++ is that given enough effort, you have a massive library of existing C/C++ code you can integrate into your project with minimal friction.
Really, the only language I could see as being a valuable addition would be SkookumScript, since that language was specifically designed for games.
How do you feel it bloats UE4? As far as I understand, it’s used extensively (probably exclusively) in their build system. Since the build of UE4 and your game code is non-trivial, I welcome any tools that make that process easier.
i know it is build system, just mentioned that maybe in future build system could be replaced with some integrated build system. Just my personal idea nothing more.