# Use numeric field expressions

> Use mathematical expressions to set numeric field values.

Numeric field inputs accept:

* Positive and negative numbers. Some properties might limit the range. For example, RGB values can't be negative.
* Mathematical expressions.
* Special functions for multiple selections.

## Use mathematical expressions

You can use a mathematical expression to calculate the value of a numeric field.

For example, if you enter `2+3`, the field calculates the value `5` and uses it. When you change focus away from the field, the field refreshes and shows the calculated value.

For more information about supported expressions, refer to [`ExpressionEvaluator`](/engine/6000.3/script-reference/unityengine/expressionevaluator.md).

## Use special functions

You can use special functions to edit multiple selected objects at once. For example, a linear ramp can distribute the selected objects along an axis.

> **Note:**
>
> Constrain Proportions Scale doesn't support math mathematical for multi-selection.

### Linear

For a linear ramp between `a` and `b`, use `L(a,b)`.


**The X field has the value L(-10,10). The selected capsules are evenly distributed along the x-axis from -10 to 10.:**
![](/api/media?file=/engine/6000.3/media/images/inspector-expr-L.png)

### Random

For random values between `a` and `b`, use `R(a,b)`.


**The X field has the value R(-10,10). The selected capsules are placed at random intervals along the x-axis from -10 to 10:**
![](/api/media?file=/engine/6000.3/media/images/inspector-expr-R.png)

### Assign

To modify the current values, use the `+=`, `-=`, `*=`, and `/=` expressions. For example, to double the field's value for all selected objects, enter `*=2`.


**The X field has the value /=3, which divides the randomised values from the previous example by three.:**
![](/api/media?file=/engine/6000.3/media/images/inspector-expr-assign.png)

## Combine expressions

You can use mathematical expressions in function. For example, the expression `L(0,2*pi)` produces a linear distribution of values between `0` and `2pi`.

The following examples uses the linear ramp function as the argument in sine and cosine functions in the X and Z fields. This distributes the objects in a circle:


**This circle was created by using cos(L(0,2\*pi))\*5 for X and sin(L(0,2\*pi))\*5 for Z.:**
![](/api/media?file=/engine/6000.3/media/images/inspector-expr-trig.png)

## Use expressions in custom editors

When you create [custom editors](/engine/6000.3/manual/uitoolkits/ui-imgui/extending-the-editor/editor-custom-editors.md), support for numeric expressions are automatically available in all [`EditorGUI.PropertyField`](/engine/6000.3/script-reference/unityeditor/editorgui/propertyfield.md) and [`EditorGUILayout.PropertyField`](/engine/6000.3/script-reference/unityeditor/editorguilayout/propertyfield.md) properties that have a numerical value.

## Additional resources

* [Inspect scripts](/engine/6000.3/manual/scripting/get-started/inspecting-scripts.md)
* [Custom editors](/engine/6000.3/manual/uitoolkits/ui-imgui/extending-the-editor/editor-custom-editors.md)
* [`ExpressionEvaluator` reference](/engine/6000.3/script-reference/unityengine/expressionevaluator.md)
* [`EditorGUI.PropertyField` reference](/engine/6000.3/script-reference/unityeditor/editorgui/propertyfield.md)
* [`EditorGUILayout.PropertyField` reference](/engine/6000.3/script-reference/unityeditor/editorguilayout/propertyfield.md)
