A TL;DR on how to create gameplay systems / source for general design principles

Heya!

Sorry for the convoluted title. I’ve been using unreal engine predominantly for fooling around with environment art / VR and animations.

When it comes to the programming side of things I mostly use Godot (GDScript, think Python) and occasionally Unity (C#). While I am putting in a few hours here and here to learn C before diving into its superset C++ I realized that even if I were fluent in C++ and able to avoid blueprints in Unreal, there are some fundamental things about the engine that I simply haven’t yet grasped.

First of all there’s the amount of basic “engine systems” linking into one another in a project for example: G.A.S, Common UI and Chooser. Which in a blueprint heavy system require to pre-plan interfaces and generally which other systems need to have access to certain variables.

It’s been a few months since I last actually implemented logic into a project but I do remember that especially when considering RPCs and avoiding hard references, I at times had to jump between multiple different blueprints in ways I never had to when implementing logic via code in Godot or Unity.

I wish I could provide a more elaborate example but what I am essentially asking for is something akin to a cheat sheet on how to go about implementing more complex logic and systems. It essentially feels like creating plug-ins and components for logic is ultimately desired and there are a lot of data-types and “engine-specific” ways to go about things that the majority of tutorials never really touch on.

Of course, looking at the sample projects is rather helpful but there is a disconnect when it comes to more complicated player systems, rather than systems that utilize AI behavior, procedural generation and input systems.

Thank you for your time. I hope this question isn’t too vague in nature.

Get LYRA sample project, its example about how to organize it all into game.

With unreal easiest is to mix C++ and blueprints. Just use both pick one that is easier for a task.

Great LYRA docs:

(go to that github pager, it has much much more about LYRA)

ps.
Looks like you know c++ and you prefer to write code instead of dragging endless wires around. And because of that you should focus on blueprints for now, because for many tasks they are much better than C++. And doing blueprints you also learn how stuff works in unreal, ie. that knowledge will also apply for C++ for you.