Unity 5.2 からIL2CPP(C#のコードをC++に変換する)が使用できるようになりました(プレビューとして)
やり方をココにメモしておきます。
設定方法
Preference(MacならばUnity > Preference、Windowsならば Edit > Preference)を開き、External Toolsを選択します。
AndroidSDKとJDKとNDK等々、設定していないパッケージを「Download」ボタンを押してダウンロード先へジャンプし、ダウンロードします。
圧縮ファイル(もしくはインストーラー)を解凍し、「Browse」ボタンで解凍したフォルダを選択します。
Editor > Project Settings > Playerでプレイヤー設定を開き、Android の Other Settings の Configuration の Scripting Background を IL2CPP に設定します。
あとはAndroidをビルドすれば、C#のマネージドコードがC++をすっ飛ばして.soに変換されて出力されます。
CPPのコードを見たい
現段階のIL2CPP(Android)は.soを直接出力します。
で、この変換前のソースコードですが、Tmp/StagingArea/IL2Cpp/il2cppoutputにあるソースコードが多分それです。なので、この辺りを超頑張って自分で改造して、超頑張ってビルドすれば、改造が可能かもしれません。(未検証)