Thursday, August 29, 2013

Coherent Blog is now part of the new Coherent Labs website!

Dear friends, we are glad to inform you that we launched our brand new, renovated website. One of the great features of our new site is that the Coherent Blog is integrated inside.

You can find it HERE:

Subscribe: RSS feed

Please keep in mind that the Blog will be updated only in its new location.

Thank You,
Coherent Labs team

Tuesday, August 6, 2013

Getting started with Coherent UI for Unity3D (Video Tutorial)


We are proud to present to you our first training video for Unity3D. This tutorial covers the basics of using the Coherent UI package, from importing and installing the package to assigning UI Views to different surfaces. You'll see how to render your HTML files projected on the camera or on a 3D object inside the world of your game. You'll also learn how to use our custom coui:// protocol to display files from your local filesystem.

We'll put the cherry on the top by showing you a peek at the Coherent UI Debugger which allows live editing of your HTML. It gives you much more flexibility than you'll see in the video of course, but showing them requires a tutorial of it's own... which is coming soon


For the purposes of this video tutorial, we have used our Standard package of Coherent UI.

You can request your free trial from here, or purchase a Mobile, Basic, Standard or Pro version of Coherent UI for Unity3D from here.

Please stay tuned for more video tutorials, coming out soon :)

Wednesday, July 24, 2013

Coherent UI Mobile Beta for Unity3D now features Android support



We, at Coherent Labs are very pleased to inform you that our last couple of weeks of intensive development and testing have resulted in a new product release. Coherent UI Mobile Beta is now available with both - iOS and Android support. Those of you, who are using Basic or Standard version of Coherent UI will receive the complete mobile support as a free update.


Try our product now and take advantage of the 30% discount which is still available during the Beta period and thus buy Coherent UI Mobile for 70$ only.


Coherent UI Mobile features:
- In-game browser
- Easy exposure of game objects to the UI
- Hardware-accelerated CSS3, canvas and WebGL
- Fully functional preview on Windows and Mac OS X
- iOS and Android support.

All versions of Coherent UI for Unity3D are published on the Asset Store.

Tuesday, July 9, 2013

Coherent UI for .NET PRO is now available as a standalone product



We at Coherent Labs, have always been working towards one main goal - to meet your needs and provide a great solution, no matter if you are developer, artist or producer. Less than two weeks ago we released our Mobile Beta version for Unity3D and now we have already prepared something new for you.

We are glad to introduce you our new standalone product - Coherent UI for .NET.



Main features:

  • .Net API for the native Coherent UI library
  • fully cross-platform web browser control for WinForms, WPF and MonoGTK, covering Windows, Mac OS X and Linux.
  • automatic binding of C# objects to the JavaScript universe.

Coherent UI for .Net browser control allows you to embed a browser inside your .Net application and still run on all desktop platforms using a single API. Coherent UI for .Net provides standards compliant HTML5 browser with SSL support.
Coherent UI for .Net also integrates seamlessly in your XNA, MonoGame, SharpDX or SlimDX game with the complete features of the native library. You can use Coherent UI for .Net to add HTML5 user interface, in-game browser and video player to your game or integrate it with the social networks.

The professional version is available for purchase on our website for $899. We also encourage you to try our Trial version, which is available for download here.

Monday, July 8, 2013

Using Coherent UI with TypeScript 0.9

Some time ago we showed how to use Coherent UI with TypeScript via the .Net method binding.Now that TypeScript 0.9 is released  with new features such as generics, overloading on constants and declaration merging we can take much more advantage of its static type checking. First lets see what these features do and then see how it can be used with Coherent UI.
Overloading on constants is the most interesting of the three and is one of the unique features of TypeScript. It allows for precise type annotations on functions that return different objects based on the value of an argument. The definitive example is document.createElement:


This not only saves us the annoying cast in
But also catches the next typo at compile time if we are more a little bit more explicit about the type:


Declaration merging allows to split declaration of module or an interface in multiple files. Although it doesn't sound very impressive, the other features would be less convenient to use with Coherent UI API without it.

Generics have no surprises and work as most other languages. They allow for type safe declaration of containers and generic functions. We are going to use them for type safe declaration of promises:

Combined with overloading on constants, generics give us ability to declare type safe events for Coherent UI. We can describe the number of arguments and their types for each event we expect:

As you already have noticed the same combination can be used for type safe declarations for the engine.call method.

Given the above declarations I would hope the following code to generate a compile-time error about Show having wrong signature:
Unfortunately not. As the TypeScript speficiation says in section 3.7.2.4: Specialized Signatures:
"Because string literal types are subtypes of the String primitive type, when a function call argument matches a parameter of a string literal type in a specialized signature, the overload resolution rules (section 4.12.1) give preference to that signature over a similar signature with a regular string parameter." 
This means that if the second argument is not of a type matching the overload declaration, the declaration is simply ignored and the code is perfectly valid.

TypeScript gets better and better and is used in more projects. Most JavaScript libraries have type declarations either bundled or in projects like DefinitelyTyped, making TypeScript valuable even for smaller projects that just glue some third-party libraries.
So if want to use TypeScript for your game user interface the place to start is the type declarations for coherent.js