テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

Unity 4.6 iOS 64-bit (beta)が公開

追記

Unity 4.6.2でiOS IL2CPPによる64bit対応が正式に組み込まれました。

 

Unity 4.6 iOS 64-bit対応版(beta)が公開になったみたいです。

まだβなので色々と不具合がありそうですが、とりあえずil2cppでビルドし64bit対応が出来る感じです。

ちなみに今回のビルドはあくまでIL2CPPテスト用だとか。


4.6 iOS 64-bit beta | Unity Community

 なおApple2月以降の新規アプリを64bit対応必須にしたため(6月以降はアップデートも64bit対応必須)、今後iOSアプリを出力したい場合は4.6もしくは5のIL2CPP対応版が必要となります。

iPhone5s以降のシェアもそこまで大きくないのに、何でこんな決断したんだろうなあ…

入手方法

4.6 iOS 64-bit beta | Unity Communityの途中のDownload and test!下のURLからダウンロードページに飛べます。そのサイズは豊満であった。

f:id:tsubaki_t1:20150113015711p:plain

 

64bit版iOSの出力方法

iOS版PlayerSettingsで、Scripting BackendMono (2.x)からIL2CPPに変更します。その下のArchitectureで32bit/64bit/ユニバーサルを選択出来る感じです。

f:id:tsubaki_t1:20150113020023p:plain

f:id:tsubaki_t1:20150113020032p:plain

ここを変更すれば普通に出力した際にcppが出力されます。

 

ビルドする

ビルドすると、フォルダにNativeが追加されココにC#のコードをcppに変換した物が格納されてます。出力したコードは良い感じにキモいです。

f:id:tsubaki_t1:20150113022957p:plain

ビフォア・アフター

f:id:tsubaki_t1:20150113023033p:plain

f:id:tsubaki_t1:20150113023041p:plain

ちなみにビルドは超長いです。

その他

説明では以下の内容が言及されてます。

  • il2cpp対応版を出力するには、プラットフォームからil2cppを選択します。

  • ビルド時間が超長いです。実際長いです。これは対策中みたいです。
  • ビルドサイズがmonoより大きいみたいです。これも対策中みたいです。ただユニバーサルアプリ(32bit/64bit両対応)はmonoより大きくなっちゃうみたいです。そりゃそうですね。
    Unity5版では小さくなったみたいです(~40% 程度)。
  • uGUIのInputがタッチパネルで動作しないみたいです。これも修正対象。
  • P/Invokeと構造体の配列のマーシャリングの際にコード生成部分にバグがあるみたいです。これは次回のバージョンで修正とか何とか。
  • WebRequest API が非対応扱いみたいです。
  • monoデバッガが機能しないみたいです。
  • iOSシミュレータは動かないみたいです。(Unity5は対応済み)
  • Unity5でIL2CPPパフォーマンスアップ対応が入ったみたいです。
  • Unity5でenumシリアライズに修正が入ってます。つまり現行バージョンは動かないかもしれません(未確認)