Can someone explain to me what situations would be “fine” for someone NOT to use the Engine-exposed C++ code in? I’ve been tinkering around with interfaces and structs, wishing I had features that just don’t exist in Unreal C++ (interfaces especially are way too limited).
As far as my understanding goes, so long as I use Unreal’s smart pointers for memory management, don’t care for things to be visible to Blueprints, and don’t need the data replicated to a client (since it’s all back-end data and calculations that doesn’t need to be shared with the user directly), then it should be fine to just use regular old C++, yes? Or should I still be using things that derive from UObject?
I’m confused regarding which objects trigger Unreal compiler errors and when I do and do not need to be using them based on the use case. Any level of clarity would be of great assistance.