Are there any known issues with using plain C++ in Unreal?

Unreal’s C++ is useful when you need to expose something to the editor or Blueprint, but it has limitations in other areas (no multiple inheritance, no templates, can’t be used inside custom macros, etc) and so, I’m considering using plain C++ for those parts.

Would this cause any major problems for the project? If I mix plain code with UE code, is there a chance it could collide with UE’s systems in any way? Is there anything else important I should know?

Here’s a post I found: Using plain C++ with UE4

I personally don’t think you would need this in order to achieve a specific task in your Unreal project though. Whatever you’re trying to accomplish, I think the intended ways will be far more practical.

What do you mean by “no multiple inheritance”? I do it quite often, in fact, if you’re implementing an interface for an actor you have to use multiple inheritance.

Again, not sure what you mean. You will need UE style C++ to make anything work (in editor/BP or not) including a class that is useable in the architecture (hence the UCLASS specifier).

My advice would be to use UE style C++ until you find a specific thing that it doesn’t work well for in practice and then pivot. I would also recommend joining the unreal slackers discord and hitting up the cpp channel…they will certainly have some specific areas/complaints about UE implementation. My read on what you’ve said has more to do with stuff you’ve heard/read vs real world experience.

Based on the replies I’ve received, both here and on Reddit, I’ve decided to just stick to doing things the intended Unreal way. I thought using plain C++ would allow for less boilerplate code by allowing the use of features like macros, templates and multiple inheritance, but from what others have told me, the costs outweigh the benefits.

Edit: To clarify, by “no multiple inheritance”, I mean you can’t have a UCLASS inherit from multiple UCLASSES.