Skip to content
Jack Brookes edited this page Nov 4, 2020 · 12 revisions

UXF has been constantly updated with many features since first release, but now we are preparing an update larger in scale compared to the others. This update would introduce breaking changes, and so if you update your project you may encounter problems. The update will bring several features, and so warrants the 2.0 tag.

Compatibility with more build targets

The dependencies of UXF have been altered to allow the code to run on other platforms. This includes WebGL (experiments in the web browser), WebXR (VR experiments in a VR web browser on any VR headset), Oculus Quest (native APK), Android and iOS (in theory), as well as your traditional PC based experiments, including with a VR headset.

UXF experiment running in a web browser

Video on twitter of Corsi experiment in browser.

Rework of the data output system

Before this update, UXF saves all data to files on your PC. You could get these files to be uploaded elsewhere, but this would not be supported on platforms where file saving is not an option (e.g on the web). Now, a generic Data Handler system allows you to configure where your data goes. Of course, one of those options allows the data to be stored in files in the traditional manner. However, this system allows this to be replaced with (or used in conjunction with) any other data output system, which are represented by "Data Handler" classes. Users can create these Data Handler classes to output their data to some custom location (e.g web server). The new system also makes it really easy to write your own custom data files, where you require output in a format that differs from the ones UXF creates. The data files you tell UXF to handle will automatically be handled by the data handler system, so benefit from the new flexible data output system. The data handler system creates mixed compatibility across platforms and data output systems. See the compatibility article.

Custom inspector for UXF 2.0 Data Handlers

Web AWS DynamoDB data handler

One of the data handlers provided in this update allows UXF to upload the data to a DynamoDB database provided by Amazon Web Services. These allow cheap and simple hosting of data. This only works with WebGL builds - but is perfect for web based data collection, where in-person data collection has become difficult in recent times. Without any coding from you, your experiment can automatically upload all data to the database.

Rework of the UI system

Now the UI is much easier to configure for different purposes. Perhaps you want to use the UI to display lots of settings and information to the researcher and participant, or perhaps you want a simple experiment with just some instructions and basic demographic information, or maybe you want no user interface and want to jump straight into the session, or you might even want to create your own user interface and startup system. All of these are now super easy to setup. The UI also generates on-the-fly in the editor as you configure it, so there is no need to start and stop the application to see the changes.

UXF 2.0 UI

Examples

The examples have been updated with flashier graphics, and a new example of the Corsi Block Span Task is included.

Much more user friendly

The new UXF has several features to hold your hand as you build your experiment. First, the inspectors of the UXF Session and UXF UI have been re-written with custom UI elements, making them easier to navigate, and giving you info and tips right there in the inspector. Secondly, UXF will check your configuration and preemptively warn you when you try to do something that will not work. For example, UXF will prevent you from building your application if you enable local file saving when you are building a web-based experiment, since this is not supported.

Custom inspector for UXF 2.0 Session

Custom inspector for UXF 2.0 UI Controller

You can download the 2.0 package here, but there may still be some small issues. It supports Unity 2018 LTS and above. Some features are not yet available (notes, info bar). If you are importing into a project that already uses an older version of UXF, you should delete the UXF & Plugins folders from your Assets before importing.

The Wiki needs to be updated to reflect the changes made in this update.

๐Ÿง  Core topics

โ“ More help


๐Ÿ‘ฉโ€๐Ÿ’ป Programming reference

Unit tests

Clone this wiki locally