Skip to content
jackbrookes edited this page Jun 1, 2018 ยท 28 revisions

The [UXF_Rig] prefab contains all the functionality of UXF, including the included user interface. The UI allows researchers to setup the session prior to starting it. UXF can be used without a UI, if you want to initialise the session manually.

The UI itself is a child GameObject of [UXF_Rig] and components of the UI can be customised in the attached ExperimentStartupController component.

Settings selector

The settings selector system allows researchers to configure one or more set of parameters for use in the session. This could be things like the number of trials, some instructions text, the appearance of some stimuli, or any piece of information that your code can use to run the experiment.

The UI searches for files in the StreamingAssets folder in your Unity project or project or build. The files that match a custom string pattern (*.json by default), populate the dropdown menu at the top of the UI. The researcher can then use the dropdown menu to select the file they wish to use. The files must contain valid json, this will then be deserialized into a Settings object. These settings files can be added, removed or modified without changing any code, which speeds up iteration time.

After pressing the Start button on the UI, the settings will be stored in the Session component, accessible in code via session.settings["key"]. See the settings system page for more information.

Participant selector

The UI uses a concept of a "participant list", which is a .csv file that stores basic information about participants. This system allows researchers to optionally pre-prepare all participant information beforehand. The UI buttons allow researchers to either select an existing participant list, or create an empty one. From there, the researcher will have the option to select a new participant, or one that already exists in the list. The participant information is then entered, and any changes made will be saved in the participant list.

The data points that the UI collects can be customised. For example, you can collect age, gender, or any other value such as the assigned group in your experiment. This is done via the ExperimentStartupController component inspector. The participant ID is always collected as it is used in the file output.

After pressing the Start button on the UI, the participant's information will be stored in the Session component as a Dictionary<string, object>, accessible in code via session.participantDetails["key"].

Session number selector

Allows assigning a number to the session. This is useful if the same participant performs the task several times. Session number is used in the save directory and can be accessed from the Session component as session.number.

Starting the session

When the researcher presses the start button, the UI system collects all the information and uses it to initialise the Session.

๐Ÿง  Core topics

โ“ More help


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

Unit tests

Clone this wiki locally