---
title: Input Modifier
description: "## WHAT'S THIS? Input Modifier (LCInputModifier) a is class that allow you to modify the value of the virtual input. Works like the input modifiers on the Enhanced Input plugin. You'll be able to invert the axes on a virtual…"
url: "https://www.lostingamestudio.com/documentation/touch-interface-designer/logic/1-virtual-input-modifier/"
updated: "2025-12-22"
category: Touch Interface Layout / Logic
---

# Input Modifier

## WHAT'S THIS?

Input Modifier (LCInputModifier) a is class that allow you to modify the value of the virtual input. Works like the input modifiers on the Enhanced Input plugin. You'll be able to invert the axes on a virtual joystick or invert the value returned for example.

Here are the modifiers integrated into Touch Interface Designer.

## SCALAR (Virtual Input Scale)

![](https://www.lostingamestudio.com/wp-content/uploads/2024/04/VirtualInputScalar.png)

Allow you to scale the virtual input value

- **Scalar** : Scale the raw value by this value (multiplier). Avoid negative values

## SMOOTH (Virtual Input Turn Rate)

![](https://www.lostingamestudio.com/wp-content/uploads/2024/04/VirtualInputSmooth.png)

Smooth virtual input value with delta time. Useful with Touch Region in joystick mode.

- **Turn Rate** : Speed of movement

## NEGATE (Virtual Input Negate)

![](https://www.lostingamestudio.com/wp-content/uploads/2024/04/VirtualInputNegate.png)

Invert positive value (ex: if X=1 and bX == true, so X=-1)

- **X** : Invert X value
- **Y** : Invert Y value

## SWIZZLE (Virtual Input Swizzle Axis)

![](https://www.lostingamestudio.com/wp-content/uploads/2024/04/VirtualInputSwizzle.png)

Invert virtual input axis. X become Y and Y become X.

## CURVE (Virtual Input Curve)

![](https://www.lostingamestudio.com/wp-content/uploads/2024/04/VirtualInputCurve.png)

Scale virtual input value by curve.

- **Curve** : Curve asset you want to use

## CREATE MY OWN INPUT MODIFIER

You can create your own modifier by creating a class based on the LC Input Modifier class. This is best done in C++, but can also be done in blueprint.

Override ***Modify Input Action Value*** function and do something!
