Hi there.I have recently completed my first UE5 short film.I think i have learned some certain knowledge in the artificial side of UE5.
Now i want to continue to start making my first game.
I have some working experience on C++ server and U3D C# client.
Now i am so confused to choose my working language in UE.
Recently ,a new game WU KONG has been published.According to some technical articles,this game is mostly made by C# using some compling techniques.
This game provides a possibility to me that we can use C# to work in UE5.
I think C# is a perfect language for beginners and small teams.If i choose C# to work,I will have more time to solve certain problems.
But i also see that,the study resources of UE5 today, like codes,are mostly written in C++.
1、If i choose C# now,will my study routine become more difficult?Will i save my time or lose more time?
2、By the time today,can C# do all of the work of UE5 game play?For exmaple,making some changes in rendering pipelines?Which section cannot be done by other languages besides C++?
Maybe there are certain workarounds but you normally can’t write your scripts for Unreal Engine in C#, and even if you found some plugins or the link you’ve sent (didn’t check it out fully yet) I wonder your reasoning behind it.
Now you might be lead to believe that I’m recommending C++ since I dismissed the other option, but no! There’s also blueprints! Epic does market blueprints as a way to encourage non-programmers to be able to code using their engine, but please don’t underestimate it. It’s use cases aren’t restricted by that. Blueprints are very practical to use, helps you visualize your code better and don’t cause issues unlike C++. Of course there are certain things that you can’t pull off using blueprints and must use C++ and you can use C++ for those purposes. You can also have a plan on which parts to use C++ where you’d be more comfortable with, but even in those cases, it would be smart to first implement the code using blueprints and see if it works as expected. Overall, you should use both blueprints and C++ in your Unreal Engine projects. Hope I was able to clear some things up for you
Thank you for your advice! Vis Agilis!
OK,i won’t abandon C++.But i think i can replace the part of blueprint with C# to save some time.Blueprint will turn into a chaos when it becomes bigger.
Thanks again bro~
Why are you saying that? Where did you hear that? Did you experience that yourself? Blueprints aren’t necessarily problematic on that aspect. It’s like saying every script written with a specific coding language is hard to read. It’s the way you use it, right? It would in fact save you time if you used blueprints, not the other way around. Also, I’m still curious about why you want to use C# so badly. It can’t be a requirement for an Unreal project.
Hey there @Anonymous_122143d9bc86a7ff91e557cb8ab0143b! I agree with Vis Agilis in that it is often best to have a mix of both. As for C++/Blueprints have a video that gives a solid rundown of when each is best used.
Trying to use C# in your pipeline will require some finesse and unless you’re already well versed in C# and C++ you may struggle to get everything working effectively. It’s likely a net time loss I personally wouldn’t take on unless you’re explicitly requiring these tools in your pipeline. I say this with a .NET C# developer background for reference. Though at the end of the day everyone’s pipeline is different, and if you could work it in with minimal hitches, it could be useful in the long run. That said, because it’s both a third party implementation, and outside of the purview of most users, you will be flying blind for the most part if you need help down the line. I can’t speak for the plugin itself, it might be more user friendly than I expect!
Disclaimer: One or more of these links are unaffiliated with Epic Games. Epic Games is not liable for anything that may occur outside of this Unreal Engine domain. Please exercise your best judgment when following links outside of the forums.
Following up on SupportiveEntity’s post I would say that the only place where you could use C# would be for the back-end of a network game or maybe for a tool to generate data / translate data (though editor widgets in unreal are now a better alternative for most tooling)
There really is no place for C# inside of the pipeline. You would need to export C# code into a lib or dll to use it’s functions in your project via library injection through the third party hash tag. It’s cumbersome and harder to maintain. Better to stick to c++ really.
Thanks a lot.This vedio is a great help to me.Now i understand the difference in UE5 game programming better.
And again,thank you all for your warning.I will consider carefully about the usage of C#.
It seems that C++ is still important in UE5.I will spend more time here.
As others have pointed out, the official way is the safest and probably the best depending on your need. For me, I’m using Unreal to make a business application tool, and have specific requirements that is harder to implement in C++. In my efforts, I stumbled across another C# plugin, UnrealSharp which I use actively.
This plugin is built on .NET 8 and give me access to all the libraries from nuget.org.
It supports hot reload and Visual Studio will give me proper IntelliSense in stark contrast to Unreal C++ which is just horrible. I have a lot of backend integration through cloud services, websockets, db’s etc. These things are much more pleasant to do in C#.
The plugin can live side by side with C++ / Blueprints. Low-end stuff still requires C++. I found it to be more of a companion to Blueprints. Blueprints doesn’t work well with source control, which is a big no no to me. I still use Blueprints as the main orchestrator, but I’ve moved Blueprints that would span over 100’s of nodes and lines into a few C# methods.