iOS and Android developmentwith Unity3DRalph BarbagalloFounder, FLARB LLC
Who am I?
The Platform Problem
Why bother with Android?
The Android Customer
Future Platform Shifts
Choosing A Solution•    Most Platforms With Least Code•    Licensing Model That Won’t Eat Margins•    Broad Community Supp...
HTML5•    HTML5 Frameworks      •    PhoneGap      •    GameSalad      •    Game Closure, AppMobi, etc.•    HTML5 Still Su...
Cocos2d•    Cocos2d-X     •    Straight C++ version of Cocos2d     •    Great 2D library, widely used     •    Amazing upd...
Unreal Developer’s Kit•    UDK     •    Don’t need a Mac!     •    Much better renderer (As of Unity 3.5)     •    Platfor...
Cross Platform Options: Misc.•    Others     •    Titanium Studio     •    Corona     •    Flash
Why I Chose Unity3D: Tech•    Best support for critical platforms      •    Mobile (iOS, Android)      •    Web (NaCL, Fla...
Tech•    Native Plug-ins      •    Can support any platform-specific           functionality            •    Amazon App St...
Support•    Awesome forums•    Awesome feedback from support•    Twitter!
Asset Store
Business Model•    Business Model      •    Flat fee per-seat      •    No rev-share
Brick Buddies
Camera Birds
iOS to Android with Unity3D
Plug-ins•    Used mostly cross-platform plug-ins Access platform specific features (Game• Center etc.)
Platform Specific Code•    Only spent a few days of re-factoring•    Swapped out iOS plug-ins for Android Combination of r...
AndroidJavaClassAndroidJavaObject activity = newAndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic<AndroidJavaOb...
Screen Sizes•    iOS has 3 aspect ratios to deal with•    Made interface work in “safe zone” For Android’s common 16:10 ra...
Performance and Testing
Unity’s Android Test DevicesUnity at SIGGRAPH 2012:  •    Nexus One (Adreno 205)  •    Samsung Galaxy S 2 (Mali 400)  •   ...
Cross Platform Export Tools•    Per-Platform Asset Settings      •    Compression settings      •    Filtering•    Cache S...
In Summary•    Best Business Model•    Widest Platform Support•    Best Community Support•    Dead Simple Porting Process
ThanksEmail: ralph@flarb.comTwitter: @flarbBlog: www.ralphbarbagallo.comSite: www.flarb.com
Upcoming SlideShare
Loading in …5
×

iOS and Android Development with Unity3D

3,317 views

Published on

This is my GDCO 2012 presentation.

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,317
On SlideShare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
86
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

iOS and Android Development with Unity3D

  1. 1. iOS and Android developmentwith Unity3DRalph BarbagalloFounder, FLARB LLC
  2. 2. Who am I?
  3. 3. The Platform Problem
  4. 4. Why bother with Android?
  5. 5. The Android Customer
  6. 6. Future Platform Shifts
  7. 7. Choosing A Solution•  Most Platforms With Least Code•  Licensing Model That Won’t Eat Margins•  Broad Community Support
  8. 8. HTML5•  HTML5 Frameworks •  PhoneGap •  GameSalad •  Game Closure, AppMobi, etc.•  HTML5 Still Sucks •  Horrible performance •  Gated by mobile browsers
  9. 9. Cocos2d•  Cocos2d-X •  Straight C++ version of Cocos2d •  Great 2D library, widely used •  Amazing updates and support •  No web support
  10. 10. Unreal Developer’s Kit•  UDK •  Don’t need a Mac! •  Much better renderer (As of Unity 3.5) •  Platform-specific features from Epic only •  25% of your revenue to Epic
  11. 11. Cross Platform Options: Misc.•  Others •  Titanium Studio •  Corona •  Flash
  12. 12. Why I Chose Unity3D: Tech•  Best support for critical platforms •  Mobile (iOS, Android) •  Web (NaCL, Flash, Web Player) •  Desktop (Steam, Mac App Store) •  Console
  13. 13. Tech•  Native Plug-ins •  Can support any platform-specific functionality •  Amazon App Store •  OpenFeint •  Write your own plug-in for whatever you need
  14. 14. Support•  Awesome forums•  Awesome feedback from support•  Twitter!
  15. 15. Asset Store
  16. 16. Business Model•  Business Model •  Flat fee per-seat •  No rev-share
  17. 17. Brick Buddies
  18. 18. Camera Birds
  19. 19. iOS to Android with Unity3D
  20. 20. Plug-ins•  Used mostly cross-platform plug-ins Access platform specific features (Game• Center etc.)
  21. 21. Platform Specific Code•  Only spent a few days of re-factoring•  Swapped out iOS plug-ins for Android Combination of runtime platform checks• and #IF compiler directives•  AndroidJavaClass!
  22. 22. AndroidJavaClassAndroidJavaObject activity = newAndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic<AndroidJavaObject>("currentActivity")!!mWindowManager =activity.Call<AndroidJavaObject>("getSystemService","window");! ! ! ! !!mConfig =activity.Call<AndroidJavaObject>("getResources").Call<AndroidJavaObject>("getConfiguration");!
  23. 23. Screen Sizes•  iOS has 3 aspect ratios to deal with•  Made interface work in “safe zone” For Android’s common 16:10 ratio, scaled• NGUI interface to fit
  24. 24. Performance and Testing
  25. 25. Unity’s Android Test DevicesUnity at SIGGRAPH 2012: •  Nexus One (Adreno 205) •  Samsung Galaxy S 2 (Mali 400) •  Nexus S / Galaxy Nexus (SGX 540) •  Motorola Xoom (Tegra2)
  26. 26. Cross Platform Export Tools•  Per-Platform Asset Settings •  Compression settings •  Filtering•  Cache Server•  Multi-Platform Toolkit •  Platform-specific assets •  Build-time asset changes
  27. 27. In Summary•  Best Business Model•  Widest Platform Support•  Best Community Support•  Dead Simple Porting Process
  28. 28. ThanksEmail: ralph@flarb.comTwitter: @flarbBlog: www.ralphbarbagallo.comSite: www.flarb.com

×