In Crestron Studio®,
all symbol definitions must be "complete" for the program to
compile. A symbol that is incomplete will have an exclamation point
marker in front of it. The
marker
will also appear in the subsystem where the symbol is located in the Logic
Explorer, as well as in the Symbol Editor.
The concept of completeness differs depending on the symbol type:
Most device symbols, such as touch screens, use "random completeness", i.e., you can connect any signal or leave any signal blank and the symbol will still be considered complete.
Most logic symbols, user modules and SIMPL+ modules use "list completeness", where every signal is a required field. That is, you must fill in every input in order, every output in order, and every parameter in order. The only exception to this is if a given signal is surrounded by brackets [ ]. This signifies that the signal is optional and not required for programming.
You can collapse a symbol to shorten the signal/parameter list. Otherwise the visible fields must be defined to complete the symbol.
Other symbols use different completeness, e.g., a Buffer symbol, which must have an output defined for every defined input. (These symbols expand the inputs, outputs and parameters together if they are related.)
You can also "auto-complete" a symbol by using the Make Symbol Complete feature of Crestron Studio®. This will automatically assign the special signal prefix "//" to unambiguous signals, and fill in all parameters with a default value of 0d.
To make a symbol complete:

