Replace Blueprints with C#

If UE4 will replace Blueprints with C#/Mono - then UE4 will become even more polular than Unity.

So my opinion: Blueprints is just fancy toy which everybody likes, but no one wants to use. Absence of C# drammatically slowing down UE4 popularity. UE4 replaced unreal scripts with blueprints, UE5 must replace blueprints with C# (and then make C# to C++ compiler in UE5.15 version). C# should be integrated similar to Blueprints, so if i make UCLASS/UPROPERTY/UFUNCTION in C++ i will get according class with properties and functions in C#, so we can use same macros and marco-parameters like we did for Blueprints. Cheers )

Nice idea ? *)))

PS: check out 15th post for C++/C#/BP solution.

How about no? More artistically oriented people would find C# as useful as C++.

Tons of artistic people are using Unity )))

One of the biggest misconceptions. Also, why don’t you stay with Unity if you like C# so much?

@newbprofi - Your posts are impossible to read when people are using the Dark Theme. I’ve changed the font of your posts, please stick to default font colours.

Blueprints are here to stay, and C# isn’t coming to the engine as a replacement. This has already been said many times before.

We’ve had lot’s of threads on this topic which have all ended in flame wars between programmers arguing about the pros and cons of specific languages. Please make sure this thread doesn’t go the same way.

Because i hate Unity component system and prefabs, and i like Unreal classic OOP objects. And many other architectural reasons.

What you’re suggesting is not a [FEATURE REQUEST]. How can you ever expect anyone to accept an idea which throws hard work (the entire BP system) to the garbage can?

Assuming everyone who was ever interested in using the Unreal tools/engine has at least an average IQ, I find it hard to understand how can people come up with such ideas, to replace something which does its job perfectly fine with something else. How about developing C# in parallel with BP?

BPs have been / are / always will be easier AND (not <and/or> or <or>, but <AND>) faster to use than C++. BP compile/package times are significantly lower than C++ times. That’s what they were designed for and they do their job exactly as intended.

C# would, objectively, be a great addition, but how about providing at least 1 objective argument for which the only solution to add C# is to remove BP? (that’s what the word “replace” means). I’m not interested in following this thread unless you provide such an argument and I’m certain most people will feel the same.

All arguments in 1st post )) just look carefully.

Then use C++. When I was in training our motto was “adapt or die”. So, either adopt to UE4 ways or go back to Unity :rolleyes:

Yeah, i am using C++ and i like UE4 C++, so many usefull tools and classes, but how would be awesome to have more abstract layer for high-level logic with working intellisense and easy to use language like C#. I dont want just simple C# plugin, i need complete support of UCLASS/UPROPERTY etc… macros for creating C++ props/funcs/events available in C#, as easy as now for Blueprints. Not only for me, but for all who likes C#.

Stick to Unity if you want Unity.
Learn the Tools you want to use instead of demanding it to be something you used earlier.

It wouldn’t be awesome. I chose UE4 mostly due to BP. Epic uses BP extensively in Robo Recall, for example. If Epic thought C# was a win, they would have implemented C# and not BP.

Actually i am just telling you the real world facts, and those facts are telling that most people prefer Unity C# to UE4 BP, and i understand why. I dont care if you use UE4 only becaue of BP. If you will stop using UE4 and other 100 people will become using it, it will be better, dont u think?)))

And ofcourse i understand that epics will never add C# support ))) but why should i agree with that? and sometimes not guide them to right pass)))

And why u telling me to use Unity? i hate Unity))) All people using it only because of C# thats i am 100% sure, agree u or not.

Have compomise idea to make mid C# classes between C++ and blueprints, if you cant live without BPs.

C++ UCLASS => C# class => Blueprint.
AMyActor : AActor (C++)
[CS_]MyActor : AMyActor (C#)
[CS_]MySuperActor : [CS_]MyActor (C#)
[CS_]MyBestActor : [CS_]MyActor (C#)
[BP_]MyActor (Blueprint, base class one of: AMyActor (C++), CS_MyActor, CS_MySuperActor, CS_MyBestActor).

C# also may have attributes like UCLASS, UPROPERTY etc. So CS_MyActor automatically have all properties and methods available to blueprints, because it was exported from C++ to C#, but not all props/methods which was created in C# should be exported to blueprints.

For me sounds realistic, i dont care if it will require rewriting whole UE4 engine )))

Imagine we have C++ game project, and neighbor C# game project. We compile C++ project, it generates C# dll, C# game project ask us to reload new dll, we using new exported classes/props/methods, we compile C# project, new C# classes available in UE4 editor as base classes for blueprints. And dreams come true )))

You imagine a lot… and you are dreaming indeed… lol.

That’s not at all realistic. :confused:

I really like guys like you.:smiley:

Learn C++ instead of complaining C++ < C#.

What the **** is the point of adding a redundant language and removing one that adds actual value?
C++ is the proper and powerful programming. Takes a while to compile and intellisense doesn’t always quite work.
Blueprint is for quick prototyping and making simple things. Its advantages are low compile times, the fact that it’s easy to see logic flow and that it gets unreadable at high complexity levels. Yes, I see that as an advantage, because it reminds you that you should use C++ for complicated stuff.

The only thing I dislike about blueprint is how different some of its approaches are to C++, which makes transferring blueprints 1:1 into C++ impossible. But I have no idea how you’d even fix that without destroying blueprint’s advantages. Plus, global structs are easier to do in blueprint than in C++, so its approach isn’t all bad.

One more thing, C# could possiblly isolate crashes of game in editor. Now if we got C++ bug, then not only game, but also editor crushes. But i think C# could solve this problem and catch exceptions without crashing editor.

FAQ:

  • Why not just use C++?
  • The same reason C# exists (too many reasons).

Here we go again…
Meanwhile in Unity’s forum:

“-Please, replace C# with PlayMaker! C# iz too hard!!”

I came here after working with Unity since Unity 2.0 and I know absolutely nothing about C++, but I manage to use it on Unreal somehow.
Language doesn’t really matter, for real.