勉強不足で至らんブログスマートフォン用の表示で見る勉強不足で至らんブログ勉強不足ですが、何か発信できればと思っています。Swiftがあげられるかと思います。自分も趣味などでプラグインを使うことがあるのですが同じような処理を別で書かないといけないのが手間だと思っていました。そこで昨年くらいからスマホのネイティブ界隈で話題になっていたKotlin/Nativeに目をつけてUnityで実行させてみたという記事です。そもそもKotlin/Nativeとはまとめている記事もありましたので参照させて頂きます。アプリ開発に導入しよう基本的にはスマホネイティブの共通化できるロジックをKotlinで書いて共通化させようぜ!ってことなのですがAndroidでは.jarとしても吐き出せますし、iOSは.frameworkとして吐き出せるのでネイティブにとって扱いやすいものになっています。今回検証に使用したリポジトリです。動かして見たい人は是非ご活用ください。-KotlinNativeSample実行した結果AndroidiOS文字列をOS毎に変えるという処理ですが呼び出すメソッドは1つにしてあります。準備Kotlin/Native自体の作成方法は既にわかりやすい記事がありますのでそちらを参照させていただきます。自分はここを参考にさせて頂きました。Androidのネイティブが自分はよくわからなかったので、最初は基本的にコピペで作って必要な箇所を変えていきました。moduleの解説」の章まで出来たら一旦は大丈夫です。上記の記事ほぼそのままですがソースコードを載せておきます。UIDevice.currentDevice.systemVersion}共通処理にUnityで呼び出すクラスとメソッドを定義します。actual処理でinterfaceのように切り出して呼べるようです。android.jarができていました。右端にGradleというタブがあるのでそこからbuildの項目を見るとbuildの詳細一覧があるのでandroidJarをダブルクリックすれば走り出してjarができるかと思います。吐き出されたjarをUnityのPlugin/Androidに放り入れるだけです。これでUnityへの導入は完了です。iOS編の「iOSアプリ」の章にあるbuild.gradleの追記だけ行いましょう。packForXCodeここの部分ですね。buildすることでmain.frameworkができます。これをUnityのPlugin/iOSに放り込めばframeworkの導入は大丈夫ですが、iOSの場合もう一手間必要です。}}を追加しましょう。これを追加することで先ほど作ったKotlinで書いたコードのframeworkを参照できます。ここでcommonというkotlinファイルを作ったがMaincommonって何だろう?ってなると思います。frameworkに吐き出す時に変換されているようです。それを確認するにはAndroidStudioでframeworkのHeaderを見ると一番下の行に自分で実装した処理が追記されていると思います。これを参考にしてObjective-c++でインターフェースを定義する必要があります。ちなみにSwiftだとMaincommonという変換名ではなくcommonで呼び出せそうですがSwiftを使うために手間をかけるよりObjective-c++を書いた方が早いと自分は思うのでこのまま進めます。C#で呼び出す事前準備は終わりました。UnityではuGUIのTextにネイティブで呼び出した文字列を表示させます。}}C#側は普通にネイティブプラグインを呼び出すだけですね。これを実機ビルドまたはシミュレータービルドすることで動作の確認ができると思います。終わりにKotlin/NativeのUnityProjectへの導入は手間が必要かと思っていましたが思った以上に簡単でした。iOSの導入のexternだけどうにかならなかいとAndroidProject内に.mm入れてみて.frameworkだけ吐き出して更新させるなどをしようと思いましたがうまく行きませんでした...Androidネイティブのディレクトリ構成やtaskのカスタムに詳しければどうにかできるのかな?と思っています。Kotlin/Nativeを使えば基本的に言語はKotlinひとつに統一できますし、共通処理やOS依存処理も問題ないのではない気がしています。個人的にKotlinでUIKitなどもimportして使えることに驚きました。何にせよ扱う言語は少ないに限ると思っていますのでKotlin/Nativeは良いものだと思います。現在betaなので書き方や吐き出し方が変わる可能性は高いです。2019の8日目の記事です。資...2019-03-18チームラボを退職しました新卒で入って2年勤めたチームラボを退職しました。connpas...2019-02-13CircleCIでUnityのTest&Buildを雰囲気理解で走らせた毎度毎度の自己Qiita転載でございます。»プロフィールid:MakeTake趣味でUnityを使って何かしてる人boostして頂けると飛びます。ウィジェットはてなブログをはじめよう!MakeTakeさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。