Our Blog

The Almighty Johnsons August 1st, 2013

The Almighty Johnsons

Our most recent project was a companion app for Series 3 of the hit NZ comedy TV show The Almighty Johnsons. Working in partnership with South Pacific Pictures, the brief was to provide a novelised adaption of the script for each episode as it aired in 3 separate regions : New Zealand, UK and Canada. Along with the novelisation, each episode includes interviews with the cast, information about key locations and information about the main themes. Images and videos related to each page are presented contextually as readers flick through the book.

The main challenge was to dynamically deliver content to different countries at different times. We had to develop a bespoke content delivery system to manage the distribution of content to different regions.


Key Technical Achievements:


  • Episodic delivery of content across multiple regions

  • Extensive use of Unity Asset Bundles to load new episodic content into Unity.

  • Creation of a bespoke Bundle builder editor tool to allow for drag and drop creation / editing of Asset Bundles for both iOS and Android.

  • Server side application to manage the delivery of episodic content to different regions on different dates and time zones . The application managed the different states of content across regions, pre-installed not available to view, preinstalled available to view, content available to download and content not available.

  • Development of a native video plugin for Unity, since the asset store solutions are not multiplatform (iOS and Android) and when they are, they cannot keep the Audio in Sync with the video.


Lessons learned:


  • It is not possible to store video content in Unity Asset Bundles, if serving this content remotely it needs to be served separately and stored in the target device’s persistent data path.

  • Bundle resource allocation needs to be handled manually in Unity. References to bundles are stored in memory indefinitely even when navigating between scenes. This will cause memory leaks if not managed.

  • Native Unity Plugin (Android/iOS) to calculate the disk space available on the device, used inside the Asset Bundle download component.