Learning UE4 C++ coming from Unity C#

Hello,

In Unity, the process generally is to build object hierarchies in the editor, and add logic as components. These hierarchies are saved as prefabs usually. The components hold virtually all of the game code.

I assume Unreal Actor and Unity GameObject are effectively equivalents between the two frameworks, but you cannot subclass GameObject in Unity. It exists merely as a container of components and high level object manipulation.

It seems that most Unreal engine tutorials have you subclassing and adding logic directly to Actor descendants.

Is it more encouraged to subclass and code directly into the classes rather than make components in Unreal? Are there any other important differences that would make it unwise to use Actor in the same way as GameObject?

Is it all personal preference? I’d love to hear what your preferred workflow is at a high level, or if there are any gotchas associated with certain workflows.

Thanks