# selection

> Gets or sets the character range of the selected text within the string currently being edited.

## Definition

* **Type:** Property
* **Namespace:** [UnityEngine](/engine/6000.5/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public RangeInt selection { get; set; }
```

### Remarks

For example: if the keyboard is editing a [TouchScreenKeyboard.text](/engine/6000.5/script-reference/unityengine/touchscreenkeyboard/text.md) "abcdef" and the "cde" substring is selected, the return value is a [RangeInt](/engine/6000.5/script-reference/unityengine/rangeint.md) with the [RangeInt.start](/engine/6000.5/script-reference/unityengine/rangeint/start.md) value set to 2 and a [RangeInt.length](/engine/6000.5/script-reference/unityengine/rangeint/length.md) value of 3. Similarly, setting selection to a [RangeInt](/engine/6000.5/script-reference/unityengine/rangeint.md) with the [RangeInt.start](/engine/6000.5/script-reference/unityengine/rangeint/start.md) value set to 2 and a [RangeInt.length](/engine/6000.5/script-reference/unityengine/rangeint/length.md) value of 3 will select "cde" of the string "abcdef".

If the caret is between two characters and no text is selected, then the [RangeInt.length](/engine/6000.5/script-reference/unityengine/rangeint/length.md) property is 0.

This always returns an empty range (start 0, length 0) if [TouchScreenKeyboard.canGetSelection](/engine/6000.5/script-reference/unityengine/touchscreenkeyboard/cangetselection.md) is false.
