1.についてはそれほど時間かけずに検証できるのがメリット。むしろ適当に改修してもいい。現状はリソースの持ち方とプログラムの関連性に問題があるだけなので、プログラムの改修ではなく最低限リソース再配置だけで動く。
2.については1.以外だと一番有用な選択肢。もともとUnityに依存しない(引き剥がしやすい)形で実装してあるので、ゲーム部分は楽に移植できそう。ただリソース周りは実装しなおしのため、そこにどんだけ時間をかけられるかがポイントだと思う。
3.は1.と再度同じことする。ただ、元々Unityの上で動かすのに面倒なことしていたのもあって、現状やる気にならない。リソースの持ち方も検証したんだけど、シーンごとに管理するのが面倒そうでどうしたもんか。
少なくとも、あまり期待できない移植のためにゲームエンジンの上で独自フレームワーク動かすというのは、リソースの扱いが便利な面もあるけど実装そのものが面倒かつトリッキーになるのはわかっており、もう一回はやる気がしない。それであれば2.か4.を選ぶ。
4.は最後の選択肢って感じ。実装自体はできるけど、全部実装しなおしになるので。でもやるとしたら前提になる動作を考えなくていいだけあって楽ではあるんだよね。少なくとも既存ゲームエンジン上で動かすのと比較すると楽。
C言語自体はメガデモ作るときも書くし音楽ツール作るときも書くので言語の習熟度合いに問題ないし。