NaninovelはUnityスクリプト側からAPIを呼び出すことで、Naninovelの処理をC#から呼び出すことができます。
というわけで、簡単な「画像のクリックでnaniファイルを実行」を実装してみました。
画像クリックでnaniファイル実行
クリックしたときの処理なので、OnMouseDownから呼び出したいと思います。

C#のスクリプトを作成します。

naniファイルと混在した状態になります。

C#を画像にアタッチし、次のように記述します。
;Naninovel
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Naninovel;
public class suna : MonoBehaviour
{
//実行したいnaniファイル
public string naniFileName = "1";
public async void OnMouseDown()
{
//IScriptPlayerサービスを取得
var scriptPlayer = Engine.GetService();
//naniファイルを実行
await scriptPlayer.PreloadAndPlayAsync(naniFileName);
}
}

ゲーム内で画像をクリックし、naniファイルが起動することを確認します。
PreloadAndPlayAsyncというのは、データを先に読み込んでから処理を開始する命令のようで、asyncする場合に最初につけるのがawait。
awaitを抜いても動作しますが、エラーの原因になるかもしれないので非推奨とのことです。

やりたいことから逆引きするUNITYの使い方まとめ
Unityをやりたいことから学習していけるよう、機能・用途別にまとめたページです。C#の命令別の逆引きは現時点で作っていません。2019の時期に書き始めているので、それより前のバージョンについては言及しません。
コメント