Can I use C# for Unreal Engine 4.9?

So I’ve been Unity3D up until recently. For reasons I’m not going to go into, I’ve decided Unreal Engine is better. But I don’t really want to have to learn C++ when I have knowledge of both JavaScript and C#. So my question is, is there any way I can use C# in Unreal Engine? Thanks :slight_smile:

You can through monos implementation but I think its for version 4.3 or 4.4 and very limited.

C++ really isnt that different from C# its learning the unreal API just like learning the unity API that takes time.

And blueprints are just well… you can do 99% of things in blueprints that any game would require.

But no basically the concsesus is no you cant and wouldnt want to and there are no plans for it.

Sorry to burst any bubble but it will pay off in the end! Start blueprinting then start looking at how the blueprint nodes are constructed to learn some of the UE4 API and do some C++ tutorials if you want to code instead of blueprint.

Hope this helps
Don’t forget to accept an answer that best clears your question up or answers it so when the community finds your question in the future via search/google they know exactly what you did to fix it/get it going.

So I made the same jump a couple years back. Don’t worry about c++ because nsomnia is right. Blueprint is a visual programming version of c++. Very easy to learn and debug. Make the jump unreal has better community support and epic actually returns emails.

@nsomnia are blueprints the things where you drag and drop boxes and connect them with lines? If so, I’d prefer to use code. Thanks for your answer. I’m not sure how to accept it though…

I accepted it nvm

Only in a very limited form. You can linked to a managed dll that runs C# code but you won’t be able to use any of the Unreal objects .This might be useful if you wrote something like a terrain generator in C# and wanted to invoke it from C++ and marshal the data back to Unreal.

As others have said the C++ you write for UE4 has a lot of similarities to C#. It has reflection and garbage collection and many other features that let you focus on your game logic rather than the plumbing. It will take a little time to adjust to but not much.

Most of your time will likely be spent getting a grasp on the Unreal Engine Architecture. Once you understand the architecture and various UObjects you’ll find it very easy to write code to manipulate it whether from C++ or blueprints.

Lastly I’d say don’t be quick to discard blueprints. There are often things that you can iterate on much quicker using blueprints than writing code. Blueprints excel at wiring up event driven game logic that all games need. C++ is great for doing more low-level procedural things. Write base classes in C++ that serve as a foundation for blueprintable instances can be very powerful and efficient in terms of development time.

Hello!

yes the blueprints, are where you play “connect the nodes”.

It’s not a bad learning tool to learn Unreal Engine. Is it the way to program… ummmm no, at least not in my opinion which is exactly worth what you have paid for it. NOTHING, lol But while learning Unreal Engine API, it allows you to focus on the API (because blueprinting is so simple), instead of a new environment (MSFT is new, because I like Eclipse, for every language I use, Assembler, C, etc) so you get to focus on the API (there’s really nothing to focus on in terms of learning blueprints itself, either the node exists or it doesn’t) So in that way, it’s darn good.

Anyway, have a great day!

Jay
IceWare

Does UE have a text editor that’ll autocorrect to UE terms like Unity has MonoDevelop? Or for my scripts do I need to find another editor? That’s ok as MonoDevelop wasn’t working for me with Unity anyway.

Thnx for all the help :slight_smile:

Funky,

I really cannot answer that question, as I have not used Unity to any extent. The most I touched it, was a company asked me to compare engines, so I looked at Crysis, Unity3D, and Epic Games. I compared API’s, etc, and most importantly people’s reactions to the 3 games. Epic won by a landslide.

Epic Games, doesn’t really support the concept of a text editor if you will. Blueprints is built into the “editor”, so in truth you have multiple “editors” in a sense, of which one of them is the BluePrint Editor (just like you can think of the materials editor, as an editor per say, it’s just nomenclature), and the BluePrint Editor will take care of you from start to finish basically. The “editing” is if you are doing C++, and then you will be using Visual C from (or eclipse etc, if you wish to go that way) Microsoft (this is not to say you couldn’t use a text editor, to write code, then bring it into a development enviroment, and get it compiled, or hell even command line fot that matter, but there will of course be more to set up to get everything correct). I mean hell, it’s just code and a computer to run it, anything is possible, given enough time, energy and money! lol

Long story short,

AutoCorrect? for Blueprints, the concept doesn’t exist, because your dragging and dropping nodes, your not “typing” in code/whatever in the form of Text.

AutoCorrect for a development enviroment for using C++ (epics language of choice, but you could use others, heck i’ve considered doing some assembler code as well, Just isolate the code from epic’s functions, and have some high speed functions going, use C++ to interface or do control logic, and your off to the races.

to start a blueprint

  1. in the content browser, right click in the folder view,
  2. from popup menu, hover over Blueprints, and then click on Class Blueprint
  3. Popup window will appear, choose actor as the base class
  4. Start building the blue print!

Have fun!

Jay
IceWare

Hey funkypigeon. There is not a text editor like MonoDevelop has for unity scripting. Its a lot like it was back in the day with directx libraries. You have to know what you want to do with the unreal engine. There are some videos on youtube from epic about coding with the UE library. a fun little tutorial here: A new, community-hosted Unreal Engine Wiki - Announcements - Unreal Engine Forums
I personally enjoy visual programming over writing code now that I’ve gotten used to it. Also if you ever venture into the 3d modeling side of things quite a few programs have been using this system (world machine, blender cycles render and now allegorithmic substance designer)

I’m a C# dev too but my advice would be for you go for blueprints, basicly if you are a developer you will understand this in no time :smiley: and i personally like it :slight_smile: its been few days now i’m playing with it and only problem right now i have its the fact i don’t know well the api :slight_smile: but other than that Blueprints are really cool way to “code”. what is cool about you do not have to learn any “fancy” syntax :smiley:

“This might be useful if you wrote something like a terrain generator in C# and wanted to invoke it from C++ and marshal the data back to Unreal”

This is literally what I did lol

C++ really isnt that different from C#
I wouldn’t say that ! C# (or JS or other) would be a very valuable addition to UE4.

As a pro coder, I can’t imagine to code gameplay logic in C++ : gameplay coding needs versatitlity and flexibility, nothing that C++ provides : hard to learn, tricky to debug, it should be used only for performance purposes.

Blueprint is a perfect match for non-coder people. However, it lacks productivity and quickly becomes unreadable as logic and architecture grows.

UE4 provides two opposite and complementary dev tools indeed. But it still lacks a true powerfull and productive scripting option.

“gameplay coding needs versatitlity and flexibility, nothing that C++ provides”

That is debatable to say the least. I would argue that C++ is far more versatile than C#.

This isn’t really an answer just support for C#. I’m not sure if I’m just not use to UnrealVS or what but it takes me a lot longer to compile my code when I make minor changes than it did with Unity Monodevelop. I really like the speed of just saving the script and heading back over to the Game Engine. With Unreal it seems I spend a lot of time waiting on my code to compile. So now I really just look for reasons to use C++ over Blueprints because Some things it’s just easier to code them. At least it was in C#. I gotta admit though having two different scripts per Blueprint kinda threw me at first. Is C++ more powerful than C#. If not then why isn’t it supported? If there was a better way to recompile the scripts without Visual Studio, I would really be grateful. l really don’t think I will be installing Visual Studio again though. It was a pain to get it to work correctly last time and as powerful as blueprinting is, I really don’t think I’ll need it.