The Developer Hub is now deprecated and information on this page may no longer be accurate. Instead, you should go to our new and improved documentation. You can also learn more about the future of documentation.
Collapse Sidebar




The TopSurfaceInput property determines the kind of input provided to a part’s /BasePart/TopSurface. This is only relevant for Motor or SteppingMotor SurfaceTypes. This property determines how /BasePart/TopParamA and /BasePart/TopParamB are used. For brevity, these properties will be referred to as ParamA and ParamB, respectively.

  • By default, this is set to NoInput. This stops the motor altogether,
  • For Constant, the motor rotates at a constant velocity equal to ParamB.
  • For Sin, the motor rotates at a velocity equal to ParamA * math.sin(workspace.DistributedGameTime * ParamB). See /Workspace/DistributedGameTime.

Code Samples

Motor Control

This code sample demonstrates how surface properties can be set using only a NormalId (Top, Front, etc). It switches a motor’s -SurfaceInput from NoInput, Constant and Sin to show how each work using -ParamA and -ParamB properties.