Unity – manage mailbox

For a project, unfortunately canceled, we needed to be able to manage a mailbox with Unity. Including IMAP protocol.

Unity uses C#, so we were pretty confident it wouldn’t be an issue since there are so many .NET libraries around there. But none of them worked fine with Unity: some of them worked in Unity Editor, some were also able to work on Android, but none could pass Unity’s IL2CPP compilation for Xcode & iOS. We searched for solution on Unity’s forums but we find nothing, there was no other choice than testing all the libraries around the web!

EAGetMail was the only one to fail on Xcode due to IL2CPP compilation, all the other libraries failed way before (due to Unity Mono version). So we raised an issue to Unity’s IL2CPP team.

During that time, we needed to be sure the project would be feasible. So we looked for alternative: a PHP solution for IMAP called Fetch combined with an AMF library for Unity. Not really a good replacement, but it worked.

Luckily Unity fixed the issue some weeks later! If you have to manage mailboxes with Unity, be sure to give a try to EAGetMail before banging your head against the wall! šŸ˜‰

Making a Unity game for the HTC Vive and the Oculus Gear

We currently faced the challenge of making a VR game (under NDA, so we can’t mention the game or even provide screenshots or code) for the HTC Vive (Steam VR) and the Gear VR (Oculus ā€“ Samsung Galaxy). In this post, we will present both headsets, the challenge they represent from a game design point of view, and also some developer feedbacks!
Continue reading Making a Unity game for the HTC Vive and the Oculus Gear

Go Mark’s Run

Hi folks, we’re proud to share with you our latest game that we worked on as developers: Go Mark’s Run, for iOS and Android. Change Agency was in charge of producing a game for the French hypermarket chain E.Leclerc to promote their own brand Marque RepĆØre. James Bang was the studio behind the game & art design.

The game mixes platformer and runner game genres. Through short levels, you have to collect as many coins as possible and stay alive. After A Blind Legend, a big Unity game made without graphics, it was cool to have fancy things on screen!

Continue reading Go Mark’s Run

Heineken, The SubĀ® in WebGL

After our tech presentation app for Heineken’s The SubĀ® used as part of interactive elements in a popup store in Paris, running on ipad Air 2s, we were asked to build a browser version which would now be accessible to the public, as part of The SubĀ®’s web site.

The color scheme would change, yet all functionality would be kept.

Now, Unity does export for webgl yet the bulky webgl build and unexpected results we had when first trying the webgl export out, led us to decide on using Three.js and building it back from scratch. It would be lighter and we’d have a bit more finer control over the result.

We would be writing this in Haxe. No specific reason to this, except for a cleaner code… and to code faster… even though we would not be targeting another language.
Continue reading Heineken, The SubĀ® in WebGL

Unity – auto set Android password in project

Hey, it’s time for an other tip today!

There are small details in Unity which can make you crazy: compiling an Android project with the correct certificate request you to provide the password each time you open the project. Ok, that’s not a big deal! But the problem is: if you miss to write it and launch the compilation it will be at the end of the process than you will be informed you didn’t set it up and so it fails. With a 30 minute build time (on a big project), if you miss it, you’ve the right to be angry! Why the hell Unity doesn’t check it before!?

Anyway let’s make a small Editor Script:

using UnityEngine;
using UnityEditor;

[InitializeOnLoad]
public class StartUp {

	#if UNITY_EDITOR

	static StartUp() {

		PlayerSettings.keystorePass = "myPwd";
		PlayerSettings.keyaliasPass = "myAliasPwd";
	}

	#endif
}

Thanks to this script, when the project will be opened the password will be registered!

Ok an other thing to figure, the keystore path is saved in your ProjectSettings.asset. So the path need to be changed on each computer. Not a big deal, but it could be done automatically if it’s near your project. On the script above, add:

PlayerSettings.Android.keystoreName = Application.dataPath + "/user.keystore";

The last thing to do would be to reset this path when Unity goes in the background so you can git push/pull without creating conflict. Unfortunately I can’t find a way to detect correctly when Unity goes in background, see http://forum.unity3d.com/threads/trapping-if-unity-editor-is-foreground.271391/. Do you know a way to do it?

Unity – fast build platform switcher script!

Today a quick tip for a huge trick!

Working with Unity is pretty awesome until you have to make a build on an other platform than your current one! Depending your project size (number of assets etc.), just changing your current platform for Android to iOS or vice versa could take one hour… yup seriously! During that time you won’t be able to work on your project and your computer’s CPU will be pretty busy… so time for a long break? Until now!
Continue reading Unity – fast build platform switcher script!

A Blind Legend Desktop : Standalone and Steam

Hello everyone ! So this blog post will cover what we did to create the desktop version of A Blind Legend and its release to the Steam store.
You can access the store page here and maybe try out the game in its desktop version !

If you are not familiar with the game, it was intended for mobile devices first and we covered its development in this previous blog article that you might want to take a look at first.

Due to the license agreements when you sign up to be a Steam/Steamworks developer, we cannot specifically talk about the publishing process itself. Nonetheless we can share our impressions and what was specific to this project !

BL_artwork_SD_02
Continue reading A Blind Legend Desktop : Standalone and Steam

Retrieving the names of your scenes at runtime with Unity

Edit: this script is awesome, and if you combine it with a ScriptableObject you’re ready to go!

Retrieving the names of your scenes at runtime with Unity isĀ a common problem. The API of Unity doesn’t provide anĀ easy way do to so. With the quite recent SceneManager, I thought Unity had finally provided something to get information about your scenes you have added in the Build Settings. No way !

I faced this problem when implementing a little configuration GUI, where the user has the possibility to indicate the order the scenes will be played. Yes, I could haveĀ hard-coded this, but it’s not theĀ elegant way in my opinion. Thus, I made some investigations to get once for all the names of my scenes.

Continue reading Retrieving the names of your scenes at runtime with Unity

Playing with VR and Unity

Today, Virtual Reality (VR) may be the hottest topic for interactive developers (Augmented Reality will be the next within few years for sure). Many constructors propose their own Head Mounted Device (HMD) : HTC & Valve with theĀ Vive, Oculus, with their Oculus RiftĀ and Gear VR for Samsung mobiles, GoogleĀ and the very cheap DIY Google Cardboard, and many other ones. Naturally, Unity, which is the leading global game industry software (45% market share,Ā 47% of developers), rapidly proposed built-in functionnalities to handle some of the VR devices.

In the end of the last year, we have been asked to create Unity tools to quickly prototype virtual visits with theĀ Google Cardboard. It was the perfect project to dive deeper in the world of VR. Here, virtual visits were a set of photo-spheres and video-spheres, which are respectively photos and videos projected inside spheres, giving you the impressionĀ you are surrounded by the scenery (think about Google Street View).Ā Furthemore, some parts of the photo-spheres had to be interactive and display someĀ additional content like photos, videos, text, …

Continue reading Playing with VR and Unity

From Unity 2D to Unreal Paper 2D

The Game Developers Conference is coming quickly and we’re impatient to hear the announcement from the big guys!

Since a while I wanted to give a try to the Unreal Engine. I’d no doubt that it could outperformed Unity on complex 3D rendering stuff, but for this first test I focused on simple 2D stuff to get familiar with the user interface, engine build process, scripting… Unreal Engine sounded like an indomitable beast in my mind (I spent hours on Unreal Tournament when I was young) but coming from an Unity background, the beast was easily tamed! If you never tried the Unreal Engine, the first thing to do is to check the Unreal Engine 4 For Unity Developers!
Continue reading From Unity 2D to Unreal Paper 2D