Unity3D for iOS and Android: UniWeb and UniParse plugins for HTTP

If you’ve ever had to work with a REST API from within a Unity project or use web services and back end data in general, you’re probably seen the limitation of Unity’s built in WWW class. Lucky for us, the developers at Different Methods released an awesome plugin that provides full HTTP functionality for Unity3D. It’s called UniWeb. UniParse is a free plugin, still in beta, that works with UniWeb and a backend service called Parse.

I owe a special thank you to Simon Wittber of Different Methods for super speedy and excellent customer service help with resolving a Unity Asset Store download issue.

Here’re a few deeper UniParse examples:

My buddy Steve, went through the following basic steps to get UniWeb up and running on an iPhone 4S and and several Android models. The Android phones included:

  • Motorola DroidX (Android 2.3.4)
  • Samsung Galaxy (Android 2.1)
  • Samsung Galaxy Nexus (Android 4.0.4, Ice Cream Sandwich)

Testing UniWeb

What is UniWeb? It’s an “HTTP glue” plugin for Unity3D. It allows for much more functionality than Unity’s built in WWW class. For example, Parse’s REST API sometimes requires the use of the PUT method instead of GET or POST. WWW only works with GET & POST. UniWeb handles PUT just fine. While I haven’t tried all of UniWeb’s functionality, it has classes to handle stuff like JSON parsing & Socket connections.

Here’s a basic test we did over HTTP:

  1. Installed the UniWeb .unitypacakge
  2. Opened up the basic UniWebExample scene that comes with UniWeb
  3. At first, we got a minor error telling us the socket connection failed because the socket server doesn’t exist. This was easily fixed – we removed the Socket script from the test GameObject.
  4. The UniWebExample image loading script worked perfectly
  5. Next, we ran into a cross compilation error when we tried to put the test app on an iPhone. Steve fixed this by switching the Api Compatibility Level from “.NET 2.0 Subset” to .”NET 2.0″ in Build Settings > Player Settings (under iOS platform settings, Other Settings > Optimization)
  6. Shortly after Steve sent an APK of this test app to several folks with Android devices and the app worked well for them. The images loaded & cycled through once, just like on the iPhone version.

Testing UniParse with UniWeb

In layman’s terms Parse is a back end service for mobile developers. It frees mobile developers up from having to code their own databases & middleware language logic to manage data between those databases & mobile applications. UniParse is Different Methods’ plugin for talking to Parse from inside a game or mobile app built with Unity3D.

The UniParse plugin uses an Update() method that does an HTTP ‘PUT’. There’s also Delete, which does HTTP ‘Delete’.

Testing UniWeb over HTTPS

coming soon…

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s