Event Graphを見る分にはそう大きくないので、ここから掘っていってもらえれば分かるかと思います。
入力処理
ボタン入力を自前で生成しています。
UE4は入力がイベントとしてしか受け取れないので、
押した瞬間と離した瞬間のイベント発行時での判断しかできず、
押し続けられているかどうかや、任意時での判定が一切できません。よって自前で作っています。
左右向き
このゲームのキャラクターは内部的には3Dモデルとなっていますが、
作り自体はFlashでよく見る様な多関節スプライトに近いものです。
左右の向き制御が少しクセのある仕様になってまして、
右向き時、モデルの前方軸スケールを-1に反転させています。
普通に回転で左右向きをやった場合、頭や体といった各パーツの優先順位が逆転してしまったのと、
面法線が裏を向いてライトが当たらなくなってしまったため、そんな対処を入れています。
(最終的に、発色がどうしても滲むとのことでライティング自体がオフにされましたが)
この方法は向きを見る時に毎度スケールを加味しないといけなくなるためあまりオススメしません。
マテリアルに向きを渡してUV反転や頂点移動させるといった対処方法もあるかもしれません。
攻撃処理
どつく系アクションとしては攻撃ヒット処理はやはり肝になりましてやや複雑です。
吹っ飛ばされた敵が他の敵に衝突した時のための処理なんかは
敵同士にしか必要がないので、子クラスであるEnemyBaseに定義されており、
親クラスから子クラスの処理へ飛ばします。
C++的には仮想関数でやる所なんですが、
無いっぽかったのでカスタムイベントという機能で実現してます。