SlideShare a Scribd company logo
Unity
ネイティブプラグインの
作成について




        Terasurware
        山村 達彦
        http://terasur.blog.fc2.com/
        @tsubaki_t1
言葉あわせ




        1
アセット。C#やらテクスチャ等、ゲームを構成する資産の総称
DLL。C#を(ソース隠蔽の目的で)DLLに変換したもので、特に制限はない。
C++のプラグインもDLLなのでややこしい
プラグイン。正しくはネイティブプラグイン。今日のお題
ネイティブプラグインとは何ぞや




       2
UnityとiOSやらAndroid(あとPC)を連動させる機能
あとUnityからC/C++で作ったソースコードを使用する機能
例えば、アプリに好きなアドサービスを導入したり、
例えば、アプリ内課金を実装したり
例えば、上の2つを概ねコピペで実装したり
例えば、WebViewを動かしたり、
例えば、日本語フォントを利用したり、
例えば、Androidの特殊なデバイスにアクセスしたり.
Androidの動作イメージ
iOSの動作イメージ
ちなみに、Unity Web Playerでは動作しない。
ネイティブプラグインをアプリにインス
トール




       3
プラグイン諸々(DLLやら.hやら.mm)
  を「Plugins/iOS」フォルダに入れる。

  必要なフレームワーク等は
  ビルドした後の途中成果物を編集




iOS環境で動かすために必要なプラグインをインストール
プラグイン(.jar)のソースコード諸々
  を「Plugins/Android」フォルダに入れ
  る。

  AndroidManifest.xmlをプラグインが動く
  ように書き換える




iOS環境で動かすために必要な操作を行う
AndroidManifest.xmlのひな形は
  PlaybackEngines/AndroidPlayerにある

  もしくはAndroidビルド時に
  Temp/StagingArea下に生成される




マニフェストファイルが無い場合は、適当な箇所からコピーしてきて、Plugins/Androidにポイ。
このファイルは競合し上書きされる可能性が滅法高いので、バックアップは忘れずに。
後はPluginsにあるプラグインにアクセスするC#のコードから、プラグインにアクセス
必要に応じて、対応プラットフォーム用の途中成果物のソースコードを書き換える時もある
PostprocessBuildPlayerで、この作業を自動化できるらしい
プラグインを作るために必要なもの




       4
対応OSのライセンス。PC版の場合はProライセンス
(絶対必要ではないが、無いと動作確認できない)
対応するプラットフォームのアプリを構築できる知識
対応するプラットフォームのネイティブアプリを構築できる環境
対応するプラットフォームが実行できるデバイス
Orz

折れない心
Unity→プラグインの連携




         5
Activity/UIViewControllerを改造し、
   勝手に開始してもらう



   UnityのC#からプラグインを呼び出す



プラグインを呼び出す方法は概ね2通り
基本的には後者でやるべき
UnityPlayerActivityを継承したクラスを
    eclipseあたりで作成する
    (ビルドにはclasses.jarをビルドパスに含める、
     Unityフォルダ下のPlaybackEngines/AndroidPlayer/binにある
     またAndroidの機能を使うなら、それもインポートする)




    上で作成したクラスをjarにエクスポート
    して、Plugins/Androidフォルダに配置

    AndroidManifest.xmlの
    UnityPlayerProxyActivityと書かれている
    箇所を、作成したクラス名に書き換える
前者のActivityを改造して実行する方法。
Activityを改造して実行するプラグインは、他のActivityを改造して実行するプラグインと競合する
UnityPlayerNativeActivityのほうが早いが、古いAndroidでは動作しないらしい
resやassetsはPlugins/Androidフォルダ
    に入れておくと、自動でインポート




     namespaceの問題で、resを使っているプラグインは動かない時がある。

     resでnamespaceを固定するか(そんな方法はあるのか?)、プラグインのRが
     使っているnamespaceをアプリのbunleIDと合わせると動作する

resやassetも使えるが、R.classのnamespacecがbundleId依存なので注意
Unity4からまさかのEclipse出力機能が登場
UnityPlayerActivityを直接編集できるかも(ActivityとNativeActivityを継承したクラス等)
AndroidJavaClassで
    Javaのコードを呼び出す

C#のコード




Javaのコード




 Androidのプラグイン連携その2。他にもJNIとかJNIHelper等があるが、これが一番楽
 C#はPluginsフォルダに入れておく
 Javaのコードはjarに変換してPlugins/Androidへ
DllImport(“__Internal”)で、
   Objective-Cのコードを呼び出す
     C#のコード




     Objective-Cのコード




     Pluginsフォルダ下に置いたC#は、Plugins/iOS下に置いたObjective-CやCの関
     数を呼べる


iOSの場合。

C#のコードはPlugins下にでも置いておく。Javaと違い、コードのままビルド可能
直接DLLを呼ぶこともできる
プラグイン→Unityの連携




         6
UnityのSendMessageと同じ感じで使える

Pluginsを処理の起点にできるが、
届くのに1Fかかる

SendMessageは戻り値が使えない




●
    SendMessageを使う
Android向け




    iOS向け




●
    戻り値(return)を使う
SQLite
               PlayerPrefs等


●
    I/Oに書き込む
プラグインを作る上での注意




       7
Unityからプラグインの呼び出しは
 重い処理

 Androidの場合は関数をキャッシュする

 1フレームに何回も呼ぶ事は避けて、
 データをキャッシュしていくべきらしい



Unityからプラグインを呼び出す処理は基本的に重いので、乱発は避けるべき
Unityのゲームが終了しているのに、
 プラグインの処理が継続する的な事が
 たまにある。

 困る場合は戻り値ではなく
 結果をI/Oにでも入れて、
 Unity側から承認プロセスを用意


プラグインは色々なところで面倒くさい
iOSビルドはARCがOFFなので、
 自分で開放してやらないと大惨事


 さり気なくメモリリークを起こしてる
 プラグインが稀によくある

 String型のみMono側で開放するので
 開放は不要らしい(ドキュメント談)
メモリの開放も自己責任。プロファイラーでよくよく確認する。
プラグインのコードは
 端末の影響をモロに受けるかもしれない
 (HTMLを使用したりする場合等)




プラットフォームの細分化に注意(主にAndroid)
実機で動かさないと動作しない
 (iphoneシミュレータ等では動かない)




プラグインの動作検証は毎回ビルドして実機確認
その他




      8
プラグインの構造は可能な限りシンプル
 に




機能は最小限にして実装しとくと管理が楽
Platform Dependent Compilationで
 プラットフォーム毎に機能わけると楽
 (こうしないと、iphoneビルド時にAndroidJavaClassがエラーになる)




 エディター上で動作している時に仮デー
 タを入れておくと、ゲームが作りやすい
プラグインを呼び出すコードは、PlatformDependentCompilationで管理
iOSはconst char*stringで渡された時、
  Stringを使用する場合はUTF8に変換する


iosに投げた文字をそのまま使うと文字化けするかも
Ad等の描画やUIに関わる処理は
   UIThreadから呼び出す

   UnityのActivityは
   UnityPlayer.currentActivityで取得可能
Androidのルールがけっこう面倒くさいので注意
プラグイン配布の際、
    package形式を使うと
    フォルダ構成等を簡単にインポート
    (あとファイルサイズが減る事がある
     出力は必要なファイルのみ選択してAssets>Export Package)




       ただしファイルがすでにある場合は上書きするので、
       AndroidManifest.xml等は含めない方が良いかも


プラグインはpackage形式で保持しとくと、導入が超楽になる
デバッグログは
 iOSならXcodeのロガー、
 AndroidならLogcatでチェック

 パフォーマンスの確認は
 iOSならXcodeのアナライザ
 Androidは…まあ頑張ろう



デバッグは各プラットフォームのデバッガで行う

More Related Content

What's hot

UnityでUI開発を高速化した件
UnityでUI開発を高速化した件UnityでUI開発を高速化した件
UnityでUI開発を高速化した件
Grenge, Inc.
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
 
なぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリングなぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリング
Satoshi Kodaira
 
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
モノビット エンジン
 
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
Takehito Gondo
 
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
Unity Technologies Japan K.K.
 
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
Unity Technologies Japan K.K.
 
インタフェース完全に理解した
インタフェース完全に理解したインタフェース完全に理解した
インタフェース完全に理解した
torisoup
 
NPRキャラクターレンダリング総結集!今こそ更なる高みを目指して | UNREAL FEST EXTREME 2020 WINTER
NPRキャラクターレンダリング総結集!今こそ更なる高みを目指して | UNREAL FEST EXTREME 2020 WINTERNPRキャラクターレンダリング総結集!今こそ更なる高みを目指して | UNREAL FEST EXTREME 2020 WINTER
NPRキャラクターレンダリング総結集!今こそ更なる高みを目指して | UNREAL FEST EXTREME 2020 WINTER
エピック・ゲームズ・ジャパン Epic Games Japan
 
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編
Unity Technologies Japan K.K.
 
200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについて200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについて
Photon運営事務局
 
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
Atsushi Nakamura
 
【CEDEC2018】Scriptable Render Pipelineを使ってみよう
【CEDEC2018】Scriptable Render Pipelineを使ってみよう【CEDEC2018】Scriptable Render Pipelineを使ってみよう
【CEDEC2018】Scriptable Render Pipelineを使ってみよう
Unity Technologies Japan K.K.
 
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
UnityTechnologiesJapan002
 
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYOFINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
 
UniRx完全に理解した
UniRx完全に理解したUniRx完全に理解した
UniRx完全に理解した
torisoup
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
 
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
DeNA
 
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術
dena_study
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
 

What's hot (20)

UnityでUI開発を高速化した件
UnityでUI開発を高速化した件UnityでUI開発を高速化した件
UnityでUI開発を高速化した件
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
 
なぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリングなぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリング
 
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
 
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
 
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
 
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
 
インタフェース完全に理解した
インタフェース完全に理解したインタフェース完全に理解した
インタフェース完全に理解した
 
NPRキャラクターレンダリング総結集!今こそ更なる高みを目指して | UNREAL FEST EXTREME 2020 WINTER
NPRキャラクターレンダリング総結集!今こそ更なる高みを目指して | UNREAL FEST EXTREME 2020 WINTERNPRキャラクターレンダリング総結集!今こそ更なる高みを目指して | UNREAL FEST EXTREME 2020 WINTER
NPRキャラクターレンダリング総結集!今こそ更なる高みを目指して | UNREAL FEST EXTREME 2020 WINTER
 
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編
 
200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについて200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについて
 
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら「関心の分離」と「疎結合」   ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
 
【CEDEC2018】Scriptable Render Pipelineを使ってみよう
【CEDEC2018】Scriptable Render Pipelineを使ってみよう【CEDEC2018】Scriptable Render Pipelineを使ってみよう
【CEDEC2018】Scriptable Render Pipelineを使ってみよう
 
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
【Unite Tokyo 2019】SRPで一から描画フローを作ってみた! ~Unity描画フローからの脱却~
 
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYOFINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
 
UniRx完全に理解した
UniRx完全に理解したUniRx完全に理解した
UniRx完全に理解した
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
 
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
 
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
 

Similar to Unity ネイティブプラグインの作成について

Unity sdk-plugin
Unity sdk-pluginUnity sdk-plugin
Unity sdk-plugin
Elias Hasnat
 
The evolution of c#
The evolution of c#The evolution of c#
The evolution of c#
leverages_event
 
Unityネイティブプラグイン
UnityネイティブプラグインUnityネイティブプラグイン
Unityネイティブプラグイン
MakotoItoh
 
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」techtalkdwango
 
C#
C#C#
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法Naruto TAKAHASHI
 
.NETの自作ツール公開手段
.NETの自作ツール公開手段.NETの自作ツール公開手段
.NETの自作ツール公開手段
Pierre3 小林
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
Yuta Matsumura
 
[2001/05/30] .NET Developers Conference 2001 May / C#の生産性とパフォーマンス
[2001/05/30] .NET Developers Conference 2001 May / C#の生産性とパフォーマンス[2001/05/30] .NET Developers Conference 2001 May / C#の生産性とパフォーマンス
[2001/05/30] .NET Developers Conference 2001 May / C#の生産性とパフォーマンス
Tatsuhiko Tanaka
 
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリにWeb制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
invogue
 
Unityの夕べ in Fukuoka
Unityの夕べ in FukuokaUnityの夕べ in Fukuoka
Unityの夕べ in Fukuoka
Shinobu Izumi
 
Windows Live SkyDrive Update .NETラボ勉強会 2012-06-23 - 公開
Windows Live SkyDrive Update .NETラボ勉強会 2012-06-23 - 公開Windows Live SkyDrive Update .NETラボ勉強会 2012-06-23 - 公開
Windows Live SkyDrive Update .NETラボ勉強会 2012-06-23 - 公開Tomokazu Kizawa
 
The forefront of html5 implementation
The forefront of html5 implementationThe forefront of html5 implementation
The forefront of html5 implementation
Satoshi Tanaka
 
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
hmimura_embarcadero
 
20161125 Unity-Android連携の発表資料
20161125 Unity-Android連携の発表資料20161125 Unity-Android連携の発表資料
20161125 Unity-Android連携の発表資料
WheetTweet
 

Similar to Unity ネイティブプラグインの作成について (20)

Unity sdk-plugin
Unity sdk-pluginUnity sdk-plugin
Unity sdk-plugin
 
The evolution of c#
The evolution of c#The evolution of c#
The evolution of c#
 
Unityネイティブプラグイン
UnityネイティブプラグインUnityネイティブプラグイン
Unityネイティブプラグイン
 
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
 
Android0422
Android0422Android0422
Android0422
 
C#
C#C#
C#
 
C#の書き方
C#の書き方C#の書き方
C#の書き方
 
C#の書き方
C#の書き方C#の書き方
C#の書き方
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
 
.NETの自作ツール公開手段
.NETの自作ツール公開手段.NETの自作ツール公開手段
.NETの自作ツール公開手段
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
 
[2001/05/30] .NET Developers Conference 2001 May / C#の生産性とパフォーマンス
[2001/05/30] .NET Developers Conference 2001 May / C#の生産性とパフォーマンス[2001/05/30] .NET Developers Conference 2001 May / C#の生産性とパフォーマンス
[2001/05/30] .NET Developers Conference 2001 May / C#の生産性とパフォーマンス
 
ZendStudioのご紹介
ZendStudioのご紹介ZendStudioのご紹介
ZendStudioのご紹介
 
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリにWeb制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
 
Unityの夕べ in Fukuoka
Unityの夕べ in FukuokaUnityの夕べ in Fukuoka
Unityの夕べ in Fukuoka
 
Windows Live SkyDrive Update .NETラボ勉強会 2012-06-23 - 公開
Windows Live SkyDrive Update .NETラボ勉強会 2012-06-23 - 公開Windows Live SkyDrive Update .NETラボ勉強会 2012-06-23 - 公開
Windows Live SkyDrive Update .NETラボ勉強会 2012-06-23 - 公開
 
The forefront of html5 implementation
The forefront of html5 implementationThe forefront of html5 implementation
The forefront of html5 implementation
 
AndroidでDIxAOP
AndroidでDIxAOPAndroidでDIxAOP
AndroidでDIxAOP
 
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
 
20161125 Unity-Android連携の発表資料
20161125 Unity-Android連携の発表資料20161125 Unity-Android連携の発表資料
20161125 Unity-Android連携の発表資料
 

Unity ネイティブプラグインの作成について

Editor's Notes

  1. Android の例 ・アプリ内課金 ・アドネットワーク ・他社サービス(ネットワークのランキング機能) ・アプリ内蔵ブラウザ ・その他 Android に出来ること ・サンプルコードの一部はコピペで使用可能
  2. iOS の例 ・他社のアドサービス ・アプリ内課金 ・ネットワークソリューション ・データベースを使う ・システムフォントの使用 ・アプリ内蔵ブラウザ ・サンプルコードは概ねコピペで使用可能