Unity Debug Diaries

Unity Debug Diaries: Unity & Apple TV

So I have been doing some initial tests using the Apple TV and so far so good. If you have gotten into the Unity Apple TV beta then you know the score by now. The current beta program has a modified version of Unity 5.1 that includes Apple TV as an iOS device in your build settings. If you want into the beta program, contact your local Unity rep and see what they can do. To get in we had to actually bug David Helgason, so I am not saying it will be easy but there is something really cool about having your stuff up on your big screen.

Right, now for the lowdown. I had 2 major problems, input and plugins. To get my initial build to work I had to strip out all my plugins… everything that had a call to external iOS functionality, even the ones built into Unity. Don’t worry about your internal plugins, things that exist with in the engine and player, they should be fine. tvOS support. So your first step in getting a build running on your Apple TV would be to

Update all your iOS plugins.
Systematically make builds and test on device, ripping out each plug-in until it works. If you read the XCode error message it will always point you to the offender.

Once you build successfully, its time to deal with your input. Unity has allowed for two main ways of dealing with input. 1) You can treat the remote like a game pad or 2) You can use the touch input…




Hyperkinetic Studios

Collective Mass Radio #16: Rich Bisso of Hyperkinetic Studios

As always, check out the rest of the blog as well as the other Collective Mass Radio podcasts on the site. A huge shout out to Rich Bisso and Hyperkinetic Studios for taking the time to talk to me and check out their work at http://www.hyperkineticstudios.com. Rich has been an avid supporter of the game creators community since I met him. He has always been super friendly and helpful to all who cross his path and consistently throws the best GDC parties ever!

 




Unity Debug Diaries

Unity Debug Diaries: Mip Map Memory Reduction

First off, I must apologize for the weird tense swapping that happens in these articles. I write stuff as it happens and do not want to do too much editing lest these become too tedious to write and then I just stop completely. So if you can deal, I will continue to write 🙂

Today, I am attacking using Mip Maps on UI for multi-resolution rendering. Enabling Mip Maps and managing which of the maps are loaded into memory is the easiest way to handle texture memory on lower end devices. Now, I believed this but did not see the reduction in the profiler on device. So then I figured it was a fallacy because the data suggested otherwise. I then switched to TK2D to handle a lot of my multi sized sprites but the lack of clarity on the issue always bugged me. So now, I want to find out for sure. I cant get a straight answer out of anyone so its time to set up some tests.

First, I am going to make a separate project in iOS to have a clean environment and have nothing muddy my results. I am choosing iOS because its got its own set of profiling tools that will help me isolate if the Unity Profiler is telling porky pies (lies).
Results: Lies lies lies! So profiling in iOS showed a radical drop in memory based on the appropriate quality settings. I have four 2048×2048 at 32 bit. The results in the profiler are:

Full resolution: 107.66mb
Half resolution: 43.68mb
Quater resolution: 27.69mb

These results…




Unity Debug Diaries

Unity Debug Diaries: Radically long load time on Kindle Fire HD

One of the most useful things in day to day game development is to know about those weird gotchas that you find in any complex tech. On top of that, you need to remember said gotchas the next time you encounter them. When developing cross platform games at a fast pace, I have solved problems and completely forgotten the solve the next time I bump into it six months later. Debug Diaries is my first attempt at trying to curb this. When I am faced with a weird problem, I am going to try to fix the problem while writing about it so that I can remember and hopefully, help you too. Here goes…

On doing the Amazon port of our soon to be released game, Thunder Jack’s Log Runner, I found that after adding the plugins to the port, the game too about 5 to 10 mins to load. I have seen this before when loading a lot of textures from resources but can be sure. The last thing I added before the problem was AdColony, which could have pushed me over the memory threshold. Time to pull it out and add some debug logs.

The first thing I did was to switch from my amazon branch to my google play branch to see if the problem was inherent or platform specific. For those who don’t know, most Android builds will work on Amazon devices because they are Android. You just have to watch out for the platform specific plugins.
Result: Same thing. So now, I am…




LA Unity User Group

LA Unity User Group January 2015

To all of you great folks out there that didn’t made it to the Unity 5 catch up in Los Angeles last month, it was a good one. Carl Callewaert and Mark Schoennagel from Unity came down for a chat and the wonderful folks at Microsoft hosted us in their snazzy Playa del Ray offices. Once again, a huge thank you to Mark and Carl for taking the time and to Microsoft for being so incredibly supportive. Bug sout out to Grant Viklund, who organizes the LA Unity User Group every month with out ever a word of complaint! If you get the chance, join the LAUUG Meet-Up and donate a couple of bucks to show your appreciation.

Carl spoke about Unity 5 and showed of the latest build. He showed how easy it was to use Unity’s new PBR lighting system just by placing and manipulating light and reflection probes. He showed how easy it was to create day/night cycles by blending between environment maps and how well the lighting system reacted. For those of you that might not know, PBR stands for Physically Based Rendering and uses a unified lighting approach to rendering. A standard set of physical properties are applied to all objects in the scene and a highly optimized shader stack does all the work. It relies heavily on reflection maps because its based on the principal that every object is reflective, just in varying…




Notespace Beat

Notespace, the incredible journey!

As many of you know, I have been working with Alexis Brandow, who is owner of Amorse Inc. on a great product, called Notespace Beat. Notespace is an interactive musical activity book for kids. Its a very different vision for mobile and its jammed full of content. Its first a storybook, with each page being its own interactive puzzle packed with unique little experiences. Secondly, its a bunch of mini games, all of them different. The experience revolves around musical concepts, some of them classical like scale and intonation and some, not so classical like LFO waves. Thirdly, Notespace is virtual instruments. Currently it has a mix machine and a synth with 40+ different synth instruments. Like I said, jam packed full of content. The game also sports a musical album, by musical artist Bosko, that the players can win and download. The album is pretty dope just as a stand alone but he worked with us through out the project, adding touches here and tracks there.

The first thing we knew going in to this is that it would be a tough sell. Its a tablet only game on musical concepts with the main protagonists being non stereotypical female roles… not quite the game selling formula everyone is used to. We weren’t trying to make any kind of statement on gender but Alexis did want female role models that weren’t a-typical. She didn’t want super girly girls and she didn’t want its antithesis, super tom boy tomb raiders. She wanted roll models…




Kindle Fire HDX and Unity

Unity and the Kindle Fire HDX… a Christmas story!

As most of you know, I have been working on my wife’s game, Notespace, for the last year. It has been an epic adventure filled with joy and peril but treacherous waters of publishing on Android. You can avoid a lot of the problems by publishing multiple builds per texture compression but every now and then you get those sharp rocks that come out of no where. And that, for me, was the mysterious crashing on Kindle Fire HDX devices.

Now before I move on, for those that don’t already know, Android devices use an array of GPU’s where as iOS devices only use one (Power VR). This generally does not affect you in anyway except when it comes to texture compression that has alpha. Unity’s default Android compression setting is ETC 1/ RGBA16. What that means is that it will compress power of 2 textures with no alpha as ETC 1 (an older OpenGL format) and will set compressed textures with alpha to RGBA 16. On average, RGBA16 will be at least double the size as your compressed texture so it has the ability of sending your GPU memory usage over the edge. That being said, I have not actually seen that happen on a device but that kinda means nothing on Android with a gazillion devices on the market. Whats more important is that 16 bit textures can look really bad, especially if you have a lot of gradient work. So there is 2 ways around it. 1) Build a custom shader for your compressed images with alpha…




Unity Cloud Build

Collective Mass Radio #15: Unity Cloud Build

As always, check out the rest of the blog as well as the other Collective Mass Radio podcasts on the site. Thank you so much to the team at Unity Cloud Build for taking the time. If you have not already, check out the product at https://build.cloud.unity3d.com. It’s truly an amazing product, especially if you are a continuous integration shop. The service is currently in Beta and open to Unity Pro license holders only for no extra charge. That alone is a big deal if you think about the bandwidth implications. The service will be available to all and, so far, there will be a free tier for all of us broke indies out there. I think their Twitter handle is @UnityCloudBuild but their is not much going on their right now. I think they are too busy making a kick ass product.

 




Dolby-Feature

Adding the Dolby API to your Unity Project

While developing Notespace with Amorse Inc, we decided to implement the Dolby API into our tablet based game. The game is a interactive musical activity book for girls so it makes a whole bunch of sense. As of the date of this post, the Dolby API is integrated into the following:

Acer Iconia Tab 10 2014
Amazon Kindle Fire HDX 7 2012
Amazon Kindle Fire HDX 8.9 2012
Amazon Kindle Fire HD 7 2013
Amazon Kindle Fire HDX 7 2013
Amazon Kindle Fire HDX 8.9 2013
Amazon Fire HDX 7 2014
Amazon Fire HDX 8.9 2014
Amazon Fire HD 6 2014
Fujitsu Arrow F-06E
Lenovo Yoga 8 2013
Lenovo Yoga 10 2013
Lenovo Yoga Tablet 2 8” 2014
Lenovo Yoga Tablet 2 10” 2014
Lenovo Yoga Tablet 2 Pro 2014
Samsung Galaxy Tab 3 8.0 2013
Samsung Galaxy Tab 3 10.1 2013
Tesco Hudle2 Tablet
ZTE Grand S Flex
ZTE Grand S
ZTE Grand Memo LTE
ZTE Grand Memo N5S
ZTE Nubia Z5S
ZTE Nubia Z5S Mini
ZTE V975
ZTE N5S
ZTE Geek U988S
ZTE Boost Max
ZTE ZMax
ZTE BladeBox

As you can see, we know that its not on iOS devices (boo) but is on every Kindle Fire device past first gen. Thats a sizable market to optimize our experience for! We also know, for development down the road, that every Windows 8 device will have Dolby hardware. This is not necessarily true for Windows 8 mobile though, so don’t get them mixed up.

First, we are…




Collective Mass Radio #14 - Camouflaj

Collective Mass Radio #14: Camouflaj

As always, check out the rest of the blog as well as the other Collective Mass Radio podcasts on the site. Big thank you to the guys from Camouflaj for taking the time. Hopefully we will be able to do a better recording in the studio sometime. Make sure to check out their truly jaw dropping game, République and to support them on every social media channel you can get your hands on. You can find them on twitter at @Camouflaj and on facebook at https://www.facebook.com/CamouflajLLC. You can find their game, République, on the iOS App Store or Google Play. They just made it onto Amazon App Store too! (Read the article)