How to Follow Variable and Device Naming Rules - VEXcode IQ Blocks

In VEXcode IQ Blocks, you are required to give a name to a new variable when you create one. You also have the option to change a device’s name in the Robot Configuration. 

The following article will cover:

  • Valid Name Rules
  • Possible Name Errors

Valid Name Rules

Variable names must be unique, but there are other specifications that the name must follow. 

Variable names are used in the following places:

  1. Device (created using Robot Configuration)
  2. Numeric (created using “Make variable”)
  3. Boolean (created using “Make a boolean”)
  4. List (created using “Make a List”)
  5. 2D List (created using “Make a 2D List”)


Here is an overview of the criteria when choosing a valid name:

  • The name cannot use special characters.
  • The name has to begin with a letter. It cannot start with a number. 
  • The name cannot use spaces.
  • The name cannot be a reserved word in VEXcode. A reserved word is a word or name that VEXcode is already using. Examples: vex, Brain, time, for, while, break, else, not.
  • The name has to be unique (only used once), but you can have different cases (one uppercase and one lowercase).

Possible Name Errors

When you create a variable name, if you see a “Name Taken” error, it means there is a duplicate name in any of the groups above. 

You may encounter a case when opening a project made in an earlier version of VEXcode IQ Blocks that has a duplicate variable name. This will cause an error when compiling and you will see the following type of error message:

The error message above shows the following problems:

  • The name “myvariable” was found as a numeric variable and a boolean variable. 
  • The name “awesomeVar” was found as a numeric variable and a boolean variable. 

To resolve the error, one of the duplicates will need to be removed or changed so they are unique.