GestureWorks 2 has significant changes and improvements over the previous versions of GestureWorks.
The Unity game engine is the most popular platform for GestureWorks. GestureWorks 2 has significant upgrades to Unity integration to make development better and easier. There are three types of way to use Unity with GestureWorks:
3D Scene - Gestures interacting with the 3D scene.
UI Gestures - Gestures for Unity’s built in Canvas based UI.
Screen Gestures - Gesture events generated in response to the user touching the screen, such as as a full screen swipe, which isn’t related to specific item in the scene.
Previous versions of GestureWorks required setting up a touch object, polling input data, assigning that data to touch objects, and then querying the gestures created. This is still done for applications which have different touch objects. But GestureWorks 2 also supports screen gestures that are not attached to a specific objects, such as a user swiping the screen. There is a simplified workflow for these gestures, just passing input data to GestureWorks and querying gestures.
GestureWorks 2 has many performance increases. The overall performance for GestureWorks 2 in applications Ideum has developed typically uses less than 2% of CPU time of the application.
GestureWorks 2 by default sets up and supports a basic set of gestures. Gesture Markup Language, GML, is still supported, but by default configuring GML is not necessary.
The API exposing GestureWorks to applications has been rewritten to be easier and is a simple C based API to make it easy to integrate with other programming languages and platform.
In GestureWorks 2 the application developer simply passes screen size and input points to GestureWorks. GestureWorks no longer requires a Windows hWnd handle to work. This allows for GestureWorks to work easier (there is no requirement for GestureWorks to only work in fullscreen mode) and makes integration with other languages and platforms, which may not expose an hWnd handle, easier. This also makes GestureWorks more stable.
Previous versions of GestureWorks required only a single instance of GestureWorks for the entire application. This prevented use cases such as having different screens of UI with different gestures. GestureWorks 2 supports any number of GestureWorks instances.
The GestureWorks visualizer has been rewritten from scratch with a new design.