---
title: inputProperty
framework: scenekit
role: symbol
role_heading: Instance Property
path: scenekit/scnparticlepropertycontroller/inputproperty
---

# inputProperty

A particle property that provides input values for this property controller’s animation.

## Declaration

```swift
var inputProperty: SCNParticleSystem.ParticleProperty? { get set }
```

## Discussion

Discussion This property applies only when the controller’s inputMode value is SCNParticleInputMode.overOtherProperty. Use this option to animate one property in response to changes in one of each particle’s other properties. For example, the following code animates particles’ size as a function of their velocity, causing particles to become larger when they move faster: CABasicAnimation *animation = [CABasicAnimation animation]; animation.fromValue = @0.1; animation.toValue = @10.0;   SCNParticlePropertyController *sizeController =     [SCNParticlePropertyController controllerWithAnimation:animation]; sizeController.inputMode = SCNParticleInputModeOverOtherProperty; sizeController.inputProperty = SCNParticlePropertyVelocity; sizeController.inputScale = 0.1;   particleSystem.propertyControllers = @{ SCNParticlePropertySize : sizeController }; To refine the relationship between a range of property values and a range of input values for the controller’s animation, use the inputBias and inputScale properties. If you specify a vector property (such as acceleration) as the input property, SceneKit uses that vector’s length for the input value.

## See Also

### Managing the Controller’s Animation

- [animation](scenekit/scnparticlepropertycontroller/animation.md)
- [inputMode](scenekit/scnparticlepropertycontroller/inputmode.md)
- [inputBias](scenekit/scnparticlepropertycontroller/inputbias.md)
- [inputScale](scenekit/scnparticlepropertycontroller/inputscale.md)
- [inputOrigin](scenekit/scnparticlepropertycontroller/inputorigin.md)
