I recently discovered C# and like it quite a lot, and was wondering if I can somehow port my new language into Unreal so I can continue the learning process rather than switching constantly back and forth between C++ and C#? If not I think I’ll switch over to mostly doing blueprints so that I can focus on C# with my other coding stuff.
Just use Blueprints then.
For gameplay coding the C++ used in Unreal is almost identical to C#, the container classes are Unreal api and not std or .net so it really doesn’t matter. They are bothc syntax languages.
I do believe there is a C# plugin (just google it, there’s a github page), but I don’t understand the advantage of it. Unreal has it’s own memory management so your not using new and delete anyway.
This old Xamarin project is getting revived, but I don’t think there’s more than one person working on it atm: https://mono-ue.github.io/
you can read more about it here http://lists.dot.net/pipermail/mono-ue/. This is C# for UE4 if it wasn’t obvious already. Project got scrapped a long time ago, but now that MS bought Xamarin and we are not stuck to paid Xamarin licensing, there’s more hope for this now.
Getting project revived could take a while though and if you want to learn UE4 now, I’d recommend starting with blueprints for the time being. Most of the blueprint features translate into c++ / possible C# quite well so you are not wasting time as you are learning how the engine works as well (and IMO UE4 programmers should understand blueprints even if they don’t want to code their whole game with them).
There are plenty of advantages, C# is just way faster language to iterate your code with and is simpler to learn and use. Some people just have preferences that don’t necessarily match others. I’ve used c++ first time in the 90’s and used c++ as primary language with UE4 since 4.5 or 4.6. I’d still go to C# for gameplay scripting any day if it were possible (and worked properly) as it’s just fastest way of writing code for me.