HMI Beta Package
Thank you for being part of the Unity HMI Package preview program!
This guide explains the basic concepts and features of the HMI Package, so you can try it with your own projects. The HMI team appreciates your interest in the package and can’t wait to hear what you think. In this preview program, you'll be able to test this product in its early stages.
What is it?
The HMI package adds a couple of new windows, workflows, and scripts to the stock Unity Editor to help you set up HMIs/UIs with custom logic, all without writing a single line of code.
The package is a collection of dedicated windows and additions to the stock Unity Editor. We want to collect feedback about the current workflow of the setup, data binding, and data creation aspects of this package.
What it can't do
This package preview version is not a production-ready suite of tools. You will be able to enter Play mode or even create target builds with it. The package is currently in beta testing and will change in the future.
Where we're headed
The final product aims to lower the barrier for those without strong Unity knowledge, such as UI Designers, and improve the workflow of creating HMIs with Unity in general. To achieve this, we plan to launch a dedicated mode on top of the Unity Editor that simplifies the UX, but allows the you to access the classic Unity Editor mode for complex tasks.
Core components
The core components of this package are:
A node-based tool that lets you set up high level system components and connections/dependencies etc. For example, how many displays you want to drive, how many individual target platforms and build outputs you will have, etc. This is the start of any HMI project and provides the foundation for the following work. Find more details below in the respective section.
A node-based tool that lets you set up data-bindings visually from data sources to components.
You set up and reuse components in the Unity Hierarchy via Prefabs and turn them into HMI Components by adding a Data Binding Graph and then start adding behaviour in that graph to elements within your Prefab.
An accessible Class creation tool that removes the need to write boilerplate code that's required for data storage and data manipulation. Use it to specify Stores (Data containers) which will act as the single source of truth about the application state, and provide default Actions to manipulate this state. Stores are the core of all Target/Visual updates in your project.
IOX Plugin System
Stores also will be the interface for connecting non-Unity plugins or data sources. The plugin that makes this possible is Input Output Exchange (IOX). The package contains a set of IOX plugins that you can select from the Data Builder and particular data fields you can bind bidirectionally within Stores.
Feedback and requests
We rely on your feedback to simplify the workflow and improve the stability and usability of this package. We also want to make sure the help we deliver gives you the information you need to be successful.
The Unity HMI team is available for any questions, at any time.