少し弄って何となくわかった気がする
ベースとなるクラスをC++で作って計算とかの複雑なロジック類をそっちに書く
C++クラスを継承してBPクラスをつくり、公開設定したC++メソッドをBPから呼び出す(ノードとしてつなぐ)
こんな感じでやればある程度は綺麗にまとまって煩雑さも減るかも
どちらかを選ぶとかではなくミックスして使うのがセオリーなのかな

しかしC++ほとんど初めて使ってるけどインテリセンスの効きも最悪だしビルドも超遅い
UnityのC#のありがたさが身に染みる