New in Umajin

Umajin 4.5.2

Animated Dialogs

Dialog windows now include the ability to animate, when showing or hiding.

Improved Multiuser Experience

Improved process to recover unsaved changes in multiuser if the network connection has been lost.

Bluetooth Improvements

Multiple Bluetooth characteristics can be read simultaneously.

JavaScript Changes

Added JavaScript interface to allow sending/receiving of socket binary data.

Added method to return file size along with width and height.

Added method that returns the names of folders within a folder.

Added method for sending files via http.


Umajin 4.5

Faster Renderkit model loading

When adding triangles or quads to your custom mesh, you can now add thousands at one time using the Array extensions.

Multi-selection Editing

It is now quicker to update component properties, by allowing editing of multiple components of the same type, when more than one component is selected.

User Rights

User’s access level for a project can now be seen within Umajin Editor when hovering over their avatar.


Support has been added for svg files.

JavaScript Assistance

Component and Action selectors, now display the names needed when referencing them in JavaScript code.


Umajin 4.4.3

Fixed operation of Bluetooth beacons as used with Offline Maps and BLE Item Component. (BLE Service Data improved).
Update to support latest Google Play Store requirements for new and updated apps.


Umajin 4.4.2

Minor bug fixes.

Umajin 4.4.1

Android only fixes for issues finding and connecting to Bluetooth Classic devices.

Umajin 4.4

WebView2 on Windows

The WebView component has been upgraded to use Microsoft’s WebView2 on Windows. This brings it up to a modern, Chromium based browser with full standards support.

Google Maps

The WebView2 upgrade also fixes the operation of the Google Maps component on Windows. In addition, both Mac and Windows now show vector (WebGL) maps from Google, with smoother animation and scaling.

BLE (Bluetooth Low Energy)

We have upgraded the reliability of BLE on iOS and Android, making connectivity more consistent.

Other changes

LibJS has been enhanced to support all components and has improved help.

Security fixes including logout on password change.

Umajin 4.3

Canvas Component

Introducing a major new component for the Umajin platform, the Canvas component. Draw complex shapes via Javascript, using an API similar to the web browser canvas API, enhancing your app with graphics beyond static images. In future releases we will add support for SVG and charts.

Lottie Animation

We have added support for the industry-standard lightweight Lottie animation format, via the new Lottie Animation component. Add free or custom 2d animations to your desktop and mobile apps.


We are releasing a new object oriented API for using Javascript in Umajin, named libJS. Work naturally with components in Umajin, calling methods and properties on JS objects, including auto-completion support in Visual Studio code.

Spine Update

Umajin now supports Spine 3.8 format, allowing you to work with current Spine tools. (If you have used older versions of spine in your projects, re-export them in 3.8 format.)

Database API Improvements

Umajin SQLite database support is much more capable, including named parameters to avoid encoding and SQL injection problems, support for null and BLOB values, and data is now native JS objects instead of JSON, improving performance and simplifying code. See cacheDbSelectRaw for a starting point.

More Native Library Support

Our native library support now includes Android platform, and allows binary data transfer for more sophisticated apps. Transfer binary data such as sound and images efficiently from JavaScript into native code and back.

Other improvements

  • BMP images are now supported in the editor and cloud
  • APIs to load and save binary files.

Umajin 4.2.1

This is a bug fix release only.

  • Tweens not working for some properties
  • Some menu items disabled incorrectly.
  • Error when trying to create empty 3D model in RenderKit.
  • File picker is case sensitive, and filters out valid files.

Umajin 4.2.0

A Welcome Screen

Now when you start up Umajin, a new Welcome screen will show you what’s new in the product as well as allowing you to get to your most recently opened projects even when you are off-line.

The Eyedropper

There is now an eyedropper tool on all color properties that allows you to sample a color in your application that then becomes the chosen color in the property. This is great for quickly picking an exact branding color from a logo or other imagery for use in other areas.


Umajin now lets you choose royalty free clipart to use in your project. The best thing is that the clipart is only stored with your project when you add it from the library so you still get to keep your application lean.

New project templates now have folders

Templates are now grouped into categories to make it easier to manage which template to use for any task you have. There are also now demo and example templates that you can create to show you how some of the more advanced features of Umajin work and as starters to your own creations.

Improved component selection box

You can now cycle through components that are on top of each other using the CTRL + Left Mouse Click combination. This makes it much easier to get to components that are completely covered by their front most components; such as scroll-panels covered by internal components and the page which is always at the back of all its child components.

New arrow component

The new arrow lets you define an arrow image to use and then tint, curve, rotate and change the thickness of the arrow to your liking. This is great for calling attention to parts of your application or directing the user from one place to another on a page.

Nine slice tinting

The nine-slice component now has the ability to add a tint to the image used. This will add the color of the tint to the existing image so adding a green tint to a yellow image will turn it blue. It is most effective when used on white images to change colors when theming an application.

Overlap warning indicator for text entry while in editor.

Whenever you place any other object over a text entry box, you will see a red OVERLAPPED message indicator on the text entry box so you know that you should move the component that is overlapping it so the user can see what is being entered.

Improved saving speed for large projects

Larger projects have been given a performance increase when saving.

Umajin 4.1.2

This is a mobile-only (Android and iOS) release to fix problems with text entry, especially in conjunction with scroll panels.

Umajin 4.1.1

This version has a focus on performance and profiling, but also includes a few other smaller features.
  •  JavaScript API to export profiling data for your app. Please read Profiling your app with Perfetto.
  •  Global events in JavaScript using registerEventHandler now support multiple listeners
  •  The global event on_global_button_press has been renamed to on_button_press. on_global_button_press will continue to work for backwards compatibility, but you should use on_button_press going forward.
  •  New Tools menu bar. Easy access to profiling controls.
  •  Add your own menu items to the Tools menu from JavaScript with registerMenuItem.


  • Many performance fixes, mostly targeting Vulkan.
  • Fix incorrect caret location issues for Text Entry component on iOS 15.

Umajin 4.1.0

Major upgrade to the internal JavaScript engine. Now using QuickJS, which fully supports the ES2020 spec. Read more about What is new in 4.1 with QuickJS.
Other Improvements:
  • Console output is translated to stdout for published app debugging.
  • Notification popup when “push to cloud” has completed.
  • JavaScript API: hideComboBoxPopup

Umajin 4.0.5

This release is mainly to support Google’s updated Play Store requirements for Android (Application bundles, SDK updates).
It also includes:
  • File path usage for Javascript APIs is more consistent (e.g. httpAddFormFile can now add files from camera)
  • Feed filtering fixes for empty string or multiple possible matches
  • Fix for standalone crash in Javascript
  • Fix hang on synchronising errors in Umajin Lite, and improved error information.


  • Sound recording permissions
  • Windows code signing support
  • Mac code signing and notarization support

Umajin 4.0.4

  • Simplified loading of native libraries. Just give a name, and Umajin will work out the exact filename and location
  • WebView for Windows/Mac/iOS additions:
  • Inviting guest editors is now done only in the cloud
  • Publishing no longer requires the Android feature graphic.
  • Streamlined install, especially for updates.
  • Text entry component added edit-time properties: text, enabled
Published apps:
  • Structural support for publishing from Git repositories.
  • Additional folders in the project will be included in published apps.
  • Mac/Win: app splash screens and startup window title correctly show
  • Mac: Camera and Microphone permissions
  • Win: Camera now works
  • Fix pre-requisites problem in installer
  • Easier-to-read font in text property editor
  • The project.u file, package.txt and the various manifest txt files should now stay consistent on each save
  • Fix problem creating first project on a new account

Umajin 4.0.3


  • Mac: improved visual quality for scaled-down images (mip-mapping) and angled lines/curves (MSAA)
  • JS file handling: New APIs for copyFile, deleteFile, deleteDirectory, bool return codes for IO functions, and better error messages
  • New renderkitModelUpdateVisibleTween for performance.
  • LibJS: FeedItemView addCustomFeed, and setting custom feed parameters

System requirements:

  • iOS: Umajin now requires a minimum of iOS 13, reflecting the change to Vulkan graphics.


  • Renderkit – Update image size when changing filename
  • renderkitCameraGet – now returns valid JSON
  • Android: Crash writing to bluetooth sockets
  • Corrected docs for renderkitModelUpdateBlendMode
  • iOS: Occasional crash decoding some Jpegs
  • Spinner always showing for httpS3Upload, never for httpGetFle

Umajin 4.0.2

  • crashes when handling certain errors on Windows (native library, process)
  • global device_id not working on Android, iOS and Mac
  • syncing should not include subfolders of temp
  • fix a possible infinite loop loading project (multiuser non-responding client)
  • missing parameter in doc for addMapMarkerLatLong
  • added missing docs for http xxxFromRef functions

Umajin 4.0.1

  • Remove “new compiler” and renderer from Window title; show info in console instead.
  • Fix Mac menu application title.
  • For developers:
    • Fix USB serial operation on Android.
    • openUrl supports custom schemes for opening other apps.
    • Support for setting content-type in httpAddFormFile
    • Support for HTTP Patch method httpPatchHeaders/httpPatchFromRef

Umajin 4.0.0

  • Modern Vulkan renderer replaces OpenGL on MacOS and iOS.
  • Improved graphics shader support
  • Runs on Apple Silicon Macs
  • Internal changes to improve memory management and future development

Known issues

Installing Visual C++ runtime

You may be shown the “Prerequisites Wizard” saying that some of the prerequisites needed are missing.
Clicking next will show the Microsoft Visual C++ 2015-2019 Redistributable installer.
If it is already installed, you will only see “Repair” “Uninstall” or “Close”.
Please select close, and then confirm you want to Cancel.

Umajin 3.6.2


  • Added functions for sound playback and record
  • RenderKit functions for updating visibility and animation mix
  • Pass name to createComponent, and getComponentByName
  • Update displayed custom feeds: setCustomFeedSingleRow

Bug fixes

  • Fix save locking in multiuser
  • http put call not running JS callback functions
  • Fix opening project as read-only

Umajin 3.6.1

Improved rendering performance on Windows laptops with discrete GPU
(NVidia Optimus, AMD PowerExpress)

Project “no sync mode” for customers who wish to manage their project files externally to Umajin.

Umajin 3.6.0

Editor improvements

Multiuser syncing and file conflict handling

  • including 3-way merge support for Javascript
  • improved syncing flow on project load and multiuser sync
  • save button tooltip shows file changes
  • improved handling of network errors

Collapse scene tree items

  • makes working with complex pages easier


  • App Http operations such as downloading files can still work when editor is in offline mode (project option)
  • Checks if files can be written to when saving
  • Support for different permission profiles
  • Click on JS filenames in console to jump to source.

App capabilities

Digital agent features

Voice commands, text-to-speech and digital avatar

  • Note: simultaneous text commands and text-to-speech not available for iOS in this release

Circle component

Desktop App Features

  • Support for packaging standalone desktop apps.
  • More flexible splash screen

Developer features

  • Improved API for downloading files: httpGetFile
  • Additional properties for components in LibJS
  • Additional performance metrics are available in Javascript.

Umajin 3.5.5

  • Fix: Http Delete API not working with additional headers (such as AWS S3)
  • Enhancement: Sound actions support file:// prefix for loading sounds from locations outside audio folder.

Umajin 3.5.4

  • Fix: httpS3Upload failing when other authorization requests had been sent in the past.

Umajin 3.5.3

Desktop app improvements

  • Allow includes to be used in DirectX shaders. Paths must be relative to source shader file.
  • JS APIs and project setting to control window state (window_?? and screen_?? globals, moveWindow)
  • on_mouse_down event fixed to work in Editor Lite.
  • events such as on_down and on_up now include the modifier for detecting mouse button, shift/control keys etc.

Umajin 3.5.2

Desktop app improvements

  • Added mouse events for JS (down, up, wheel, enter, leave)
  • Set desktop window title from JS
  • full_project_path getGlobal provides absolute path

Amazon S3 improvements

  • Supports latest “v4 Signature”
  • JS S3 Upload now supports different regions
  • Added S3Link JS function – get an S3 download link

Renderkit improvements

  • Support adding spine animations
  • Added setting model orientation by quarternion
  • Added getting screenspace bb for a model
  • Added getting the aabb for a model

Other changes

  • Improved JS error logging
  • Fix publishing project effects/shaders and 3d models
  • Fixed delays when using editor menu in large projects

Umajin 3.5.1


  • Addition of on_quit_requested JS event and cancelQuit() function.
  • Improved database error reporting.
  • (Windows only) Renderkit post-process shader improvements
    • MSAA anti-aliasing
    • Floating point render targets
    • Depth buffer replaced with world space co-ordinates.
  • Updated splash screens


  • Improved switching to the editor from other apps – reloading shaders, Javascript and images
    Offline mode: project option to allow the app to still use HTTP


  • Editor and viewer are now notarized so can be launched normally (still has the “downloaded from the internet” confirmation prompt)

Umajin 3.5.0


  • RenderKit Shader pipeline
  • Improve performance on project load and window switching
  • Improved filtering for data-bound components.
  • Android adaptive icon support.
  • Improved editor toast messages.
  • RenderKit JavaScript API changes
  • New global JavaScript events: “on_mouse_down”, “on_mouse_up”, “on_mouse_wheel” and “on_key_down”.
  • Expose all properties of the Animation Component to JavaScript
  • “Hide on Back” property added to dialogs to stop them closing when back or escape key is pressed.
  • Editor now detects changes JavaScript modules, and will reload when needed.

Umajin 3.4.0

Internal release only

Umajin 3.3.0


  • Multi-User Improvements;
    • Soft page locking and lock timeouts reduces conflicts between users
    • Now blocks while saving to cloud
  • You have the option to open a project in Read-only mode
  • You can now Copy/Paste actions
  • JavaScript Engine updated to DukTape v2.4.0. Now supports more ES5/6 language features like
    • Symbol primitive type
    • String.prototype.{startsWith,endsWith,includes}
    • Object.assign()
    • Computed property names in object literals
  • HEIC Image format now supported from users photos in iOS
  • Improved share action with image composition, desktop preview
  • There is a new non-modal dialog type and you can customize the dialog blocker colors
  • In Umajin Editor Lite, there is a new method to access the menu which uses a two finger double tap rather than the swipe from the left. This was required to avoid conflict with the new gestures system in Android 10


  • UTC Date functions now return the correct date
  • Changes to the font type in a Text Entry component will now display correctly
  • A white flash on startup on some Android operating systems is gone
  • The default app background color will not show through on the right hand side of the screen on some iOS operating system versions now
  • Google Maps routing now accepts the new key required for published apps
  • Fix offline maps POI clicks not working reliably in Android

Umajin 3.2.1

Offline maps

  • new check beacon status action
  • fix map centering when zoomed out

Fix poor performance when fonts missing
Mac: Fix editor not opening when clicking “Open” on the first-time “Run application from the internet” dialog

Umajin 3.2

Mac: Fix crash at startup on Catalina.
Improved performance and reliability:

  • Multiuser fixes relating to: masters, changing page names, undo/redo, auto-mapping, etc
  • Exiting from play mode back to edit mode is faster
  • Fixed short hang every 30 seconds on large projects
  • Loading zoom animation removed

Undo/redo is now per-page

  • Undoing on one page will not affect other pages.
  • Deleted pages can be restored from the new “Deleted pages” button.

Device list updated to remove obsolete devices and add new models.
Other fixes

  • HTML Article and Dynamic Article components now select fonts more reliably
  • Copying between projects.
  • Improved custom feeds performance
  • Unsaved changes correctly show when changes made to a project while saving
  • Mac: Fix fake GPS location not working

Umajin 3.1

The release of Umajin 3.1 brings with it our new multi-user editing feature.  You can now collaborate with your colleagues directly within the Umajin Editor.


The multi-user system allows people to work simultaneously on the same project.  A list of users who are currently logged in to the project is displayed in the top right corner of the Umajin Editor.  Any time a project member makes a change to components on a page, these changes are immediately (in real-time) synchronized with the other team members.  To make use of this system simply update your Umajin Editor to version 3.1 and it will be available.

Umajin 3.0

This major release sees a move to simplified naming of our applications.  Umajin App Creator becomes Umajin Editor and Umajin Preview becomes Umajin Editor Lite to reflect the new functions within. A totally new User Interface design and all the features below round out this 3.0 release.

Umajin Editor (formerly Umajin App Creator)

We have gone through the whole application and updated the user interface design of our Umajin Editor to look better on higher resolution displays.  The design has then followed on to our Umajin Editor Lite as well.  All component and action icons have been updated as well to give a more cohesive experience.  There is a project history tab in the Project List so authors can see what has been completed on their project and the list is searchable.  You can now drag ‘n’ drop components on the scene tree and in the actions lists in the properties inspector. Guide-wire positions can also be precisely set by clicking on the Guide-wire tab.  Project settings can now be edited in the Properties Inspector and can be undone.

Umajin Editor Lite (formerly Umajin Preview)

The Umajin Editor Lite has had the aforementioned User Interface redesign and we have replaced the old iconic state information with more readable ‘plain English’ descriptions of the projects state on the device.  It includes information about whether the project is loaded, needs to be downloaded, is up-to-date, etc.  Other new features include a new commenting system (which synchronizes with Umajin Editor), console window and pages list screen.  The threaded commenting system allows users of the Umajin Editor Lite to give feedback to the author on specific pages of the project.  These comments can be accessed by the Umajin Editor on the desktop for discussion.  The console window shows information (from the Umajin JavaScript engine) to help the author view state and error information from their scripts and custom components directly on the mobile device.  The pages list shows all pages of the project so the user can find and comment on them even when the page is not navigable.

Notch Support in Android and iOS

The Umajin ecosystem now has notch support on iOS (for iPhone X and later) and Android 9.0 (Pie) devices that have a notch.  The status bar can also now be displayed while a project is active as well.


Google Maps now work on desktop (macOS and Windows).  This will help with testing maps when authoring new projects. We have improved zoom capabilities and the ability to add a fake user location for testing as well.

Numerous other enhancements

We have updated the permissions systems for both Android and iOS.  The Windows Editor is now a 64bit application and we have added macOS Mojave permissions for Camera and Microphone.  There is better management of Text entry components.  The reliability and consistency of feed components has been improved and many other minor bugs have been resolved.