---
title: Dynamic User Variables
slug: legacy-docs/dynamic-user-variables
docTags: 
createdAt: 2025-03-11T06:56:07.598Z
---

:::hint{type="warning"}
This page / section pertains to **BrightAuthor Classic**, our legacy app. **BrightSign Author&#x20;**&#x69;s our latest app for managing content and players.

Development of BrightAuthor Classic has largely ceased and the app will eventually be deprecated and replaced with BrightSign Author.
:::

There are several ways to change the values of User Variables in an interactive presentation. See the [Variables](docId:97ugz4dVQlqzVJ1EGJ_Y4) page for more information about creating User Variables and setting default values.

# Web Browser

You can view and update User Variables using a web browser. To do this, your computer must be connected to the same local network as the BrightSign player, and you must enable the Local Web Server on the player:

1. Go to **Tools > Setup BrightSign Unit**.
2. Check the **Enable local web server** box.
3. Enter a user name and password for the web server if desired.
4. Set the rest of the options in the **BrightSign Unit Setup** window and complete the unit configuration process (see the [Setting up BrightSign Players](docId\:pONeDyEXzfyG0oArUILLz) for more information).
5. Wait for the player to complete the entire boot process.
6. Use the address bar of a web browser to navigate to device IP port 8008. For example, if the IP address of your BrightSign player is 192.168.1.2, then you would enter 192.168.1.2:8008. You will be provided with a web page that lists all User Variables and allows you to modify them.

:::hint{type="success"}
If you do not know the IP address of your player, you can obtain it by powering up the player without an SD card inserted: The IP address, along with other information about the unit, will be displayed on screen once the unit boots.
:::

# UDP, Serial Input, and Plugin Message Events

You can change the value of User Variables using the input from a UDP Input, Serial Input, or Plugin Message event:

1. Create a new UDP Input, Serial Input, or Plugin Message (or edit an existing one).
2. If using a UDP Input event, type into the **Specify UDP input** field. The field can contain either the wildcard designator by itself or additional text with the wildcard designator (e.g. "message\_\<any>").
3. If you are using a Serial Input or Plugin Message event, enter the \<\*> wildcard designator into the **Specify serial input** or **Plugin** **message** **field**. The field can contain either the wildcard designator by itself or additional text with the wildcard designator (e.g. "message\_\<\*>").
4. Check the box labeled **Assign input to variable**.
   1. Select **Specify fixed variable** if you want to choose a fixed User Variable in the presentation. Use the dropdown list to choose which User Variable the UDP input will modify. The UDP/serial string must be input in the form of \<variable value>.
   2. Select **Input specifies variable** if you want the UDP/serial input string to dynamically specify which User Variable is being modified. The UDP/serial string must be input in the form of  \<variable name> : \<variable value>.
5. Check the box labeled **Assign wildcard to variable** to specify the value of a User Variable using the \<any> or \<\*> wildcard designator. Note that wildcards are only supported when the serial port is using the ASCII [protocol](docId\:dKUSdiVRXpUAiUOVm2eHL),not when using the Binary protocol. Select the User Variable to modify using the dropdown menu to the right.
6. Press **OK** to save the settings.

:::hint{type="warning"}
If you select **Input specifies variable**, you can modify more than one User Variable with a single event. Use the following UDP/Serial string: "\<variable name> : \<variable value> !! \<variable name> : \<variable value>"
:::

:::hint{type="success"}
It is possible to check both **Assign input to variable** and **Input specifies variable** boxes for more complex functionality. For example, you use **Specify fixed variable** to assign the entire UDP string to one variable, while at the same time using **Assign wildcard to variable** to assign a subset of that string to another variable.
:::

