Friday 4 April 2014

iBeacons in Unity. Asset Store Review.


This is a review about an Unity plug-in that you can find in the Assets Store. The component is called iBeacon and costs 15$. For a technological solution of that kind, I think is a fair price. The plug-in is the first of its kind in the Asset Store and it doesn't have any review yet. So let's get to it!

IBeacons are low-powered bluetooth devices. They are small as an egg and have a battery that can last years. Phones and tablets are able to connect to them an receive information witch makes location-based apps very convenient.

It main purpose of the iBeacons is shops, museums and touristic places. That sounds quite boring to be honest. Why not make some game with it? :)


Estimote iBeacons are one of the most popular. Cool design.



Right after buying the plug-in you can download it and import it to you project. Keep in mind that you can't move the imported folders. Some of them like the "Assets/Plugins" just have to be exactly there.

The plugin itself is quite simple and comes with one example of server and  client. The server is just the emulation of and iBeacon. If you have two Apple devices you can use them both to detect each other. I you have a real iBeacon you don't need the server at all.

To set up your game to detect your beacons you need to provide the UUID field to the iBeaconReceiver script. Note that the region field present there doesn't really do anything. The plugin also provide an example of how to create custom scripts that register to receive the beacon events. All the beacons from the same company share UUID. This is something good, since you need to know the UUID in other to be able to detect the beacons.

Every update of the beacons status you will receive inside Unity all the information you can ask for. For all the beacons detected you will get:
 - Mayor and minor (identificators)
 - How close are them (Unknown, Far, Close or Immediate)
 - Strength and accuracy of the signal.


Kontakt iBeacons. Bigger battery and better configuration app.


Before you test your new app with a real device, you have to be careful because as I write this post, you have to add manually add the CoreBluetooth framework into your Xcode project every time you build. This is done though the "Build Phase" tab, then "Link Binary with Libraries" and then find the framework in the list. It is an small pain in the ass, but the developer told me he will fix it in the next patch.


In conclusion the iBeacon component simply does what you expect from it. It took me a little bit of time to make it work, due to the technical problems witht he CoreBluetooth and I am not yet sure it works 100% of the time. Sometimes it doesn't detect the beacons until you leave and enter the area again. Also I would like to see Android compatibility some day.

All in all I definitively recommend this Plug-in: 4/5
★★★★☆


The kind of game you will develop now is just limited by your imagination! Will it be a hide and search multiplayer game? A real world adventure? What is best, it can be easily combined with another incredible technologies that already landed in Unity, like Augmented Reality (Vuforia) or Virtual Reality (Occulus Rift).


iBeacon Plugin in the Asset Store. Developed by Kaasa Solution Gmbh.

For those who doesn't know what the Asset Store an offer to them, they should start looking at it for time to time. There are sales regularly and it may happen that you find some plugin that you didn't know existed. Unity made a great job promoting the Asset Store, because it became a great way saving time for very little money.

12 comments:

  1. Thanks for the review. I didn't know exist this plug-in for unity. The assets store is so, so big :)

    ReplyDelete
  2. Thanks for the article, Is it totally needed to Modify Xcode in Order to make it work with a real iBeacon? If so, Im not quiete sure how to do it with your explanation.

    ReplyDelete
    Replies
    1. Hello and thanks for the comment :)
      I am not sure, but I think the developer already fixed this Xcode issue. However, you may still find problems if you are using more than one plugin. If you have troubles finding the "Build Phase" tab, check out this: http://www.runscriptbuildphase.com/images/Xcode_6_01.png
      The framework you need to add is the CoreBluetooth.
      Cheers! :)

      Delete
  3. Nice Blog! Thank you so much for sharing this one ibeacon app all Kind of peaceful info,Love it- ibeacon app development

    ReplyDelete
  4. Hello, little late to the party but I have a question. Does this asset work with Android? Or is there any way of making it work for Android? We use Unity at work to make apps so we can export to as many platforms with as little development time, so it would really help if this asset also worked for Android.

    ReplyDelete
    Replies
    1. Hello KeOt777, I remember that at some point I received an update of this plugin saying that they added android support!

      I haven't tried it and I don't know if it's up to date but it looks like yes, so I recommend you give it a try! :)

      Delete
  5. sorry, a bit late for some of the answers ;-) but yes, it is compatible with Android and we are currently working on a major update with some new exciting features. Last tests are being done and then it is up to the Asset Store and we hope that the process does not take too long this time.

    ReplyDelete
  6. Hello, Very nice review~
    I would like to ask about the How close are them~
    Can i get a numeric result from this plugin? or only get the type like Unknown, Far, Close or Immediate

    ReplyDelete