# BodyAngularVelocity

Show deprecated

The BodyAngularVelocity object applies a torque (or rotational force) on a `BasePart` such that it maintains a constant angular velocity as determined by its `BodyAngularVelocity/AngularVelocity|AngularVelocity` property. This allows for the creation of parts that continually rotate. It is the rotational counterpart to a `BodyVelocity`. If you would like to maintain a constant angular displacement, use a `BodyGyro` instead.

The `BodyAngularVelocity/AngularVelocity|AngularVelocity` property (visualized above as a green line) controls the goal angular velocity of the applied torque: the direction of the `DataType/Vector3` is the axis which the part rotates around, and the magnitude is the speed in radians/s. The `BodyAngularVelocity/MaxTorque|MaxTorque` property controls the maximum amount of torque that can be applied to the object, while the `BodyAngularVelocity/P|P` property controls the amount of power used in applying the torque.

Tip: Regarding the `BodyAngularVelocity/AngularVelocity|AngularVelocity` property, you can multiply a `DataType/Vector3` by `math.rad(360)`, or , in order to convert angular frequency (rotations per second) into the desired angular velocity (radians per second). For example: Setting `BodyAngularVelocity/AngularVelocity|AngularVelocity` to `Vector3.new(0, 1, 0) * math.rad(360)``Vector3.new(0, 6.283, 0)` will cause a part to spin around the Y axis once per second.

## Properties

 ``` Vector3 ``` ``` AngularVelocity ``` Determines the axis of rotation (direction) and the rotational velocity (magnitude) in radians/s
 ``` Vector3 ``` ``` MaxTorque ``` Determines the limit of torque that may be exerted on each world axis
 ``` float ``` ``` P ``` Determines how aggressive of a torque is applied in reaching the goal angular velocity
 ``` Vector3 ``` ``` angularvelocity ``` ``` [NotReplicated] ``` ``` [Deprecated] ```
 ``` Vector3 ``` ``` maxTorque ``` ``` [NotReplicated] ``` ``` [Deprecated] ``` Determines how much force can be applied to each axis

Inherited from Instance:

 ``` bool ``` ``` Archivable ``` Determines if an `Instance` can be cloned using `/Instance/Clone` or saved to file.
 ``` string ``` ``` ClassName ``` ``` [ReadOnly] ``` ``` [NotReplicated] ``` A read-only string representing the class this `Instance` belongs to
 ``` int ``` ``` DataCost ``` ``` [Hidden] ``` ``` [ReadOnly] ``` ``` [NotReplicated] ``` ``` [Deprecated] ``` The cost of saving the instance using data persistence.
 ``` string ``` ``` Name ``` A non-unique identifier of the `Instance`
 ``` Instance ``` ``` Parent ``` ``` [NotReplicated] ``` Determines the hierarchical parent of the `Instance`
 ``` bool ``` ``` RobloxLocked ``` ``` [Hidden] ``` A deprecated property that used to protect `CoreGui` objects
 ``` int64 ``` ``` SourceAssetId ``` ``` [Hidden] ``` ``` [NotReplicated] ```
 ``` bool ``` ``` archivable ``` ``` [Hidden] ``` ``` [NotReplicated] ``` ``` [Deprecated] ```
 ``` string ``` ``` className ``` ``` [ReadOnly] ``` ``` [NotReplicated] ``` ``` [Deprecated] ```

## Functions

Inherited from Instance:

 ``` void ``` ``` ClearAllChildren ( ) ``` This function destroys all of an `Instance`’s children.
 ``` Instance ``` ``` Clone ( ) ``` Create a copy of an object and all its descendants, ignoring objects that are not `Instance/Archivable|Archivable`
 ``` void ``` ``` Destroy ( ) ``` Sets the `Instance/Parent` property to nil, locks the `Instance/Parent` property, disconnects all connections, and calls Destroy on all children.
 ``` Instance ``` ``` FindFirstAncestor ( string name ) ``` Returns the first ancestor of the `Instance` whose `Instance/Name` is equal to the given name.
 ``` Instance ``` ``` FindFirstAncestorOfClass ( string className ) ``` Returns the first ancestor of the `Instance` whose `Instance/ClassName` is equal to the given className.
 ``` Instance ``` ``` FindFirstAncestorWhichIsA ( string className ) ``` Returns the first ancestor of the `Instance` for whom `Instance/IsA` returns true for the given className.
 ``` Instance ``` ``` FindFirstChild ( string name , bool recursive ) ``` Returns the first child of the `Instance` found with the given name.
 ``` Instance ``` ``` FindFirstChildOfClass ( string className ) ``` Returns the first child of the `Instance` whose `Instance/ClassName|ClassName` is equal to the given className.
 ``` Instance ``` ``` FindFirstChildWhichIsA ( string className , bool recursive ) ``` Returns the first child of the `Instance` for whom `Instance/IsA` returns true for the given className.
 ``` Instance ``` ``` FindFirstDescendant ( string name ) ``` Returns the first descendant found with the given `Instance/Name`.
 ``` Actor ``` ``` GetActor ( ) ``` Returns the Actor associated with the Instance, usually the first Actor ancestor
 ``` Variant ``` ``` GetAttribute ( string attribute ) ``` Returns the attribute which has been assigned to the given name
 ``` RBXScriptSignal ``` ``` GetAttributeChangedSignal ( string attribute ) ``` Returns an event that fires when the given attribute changes
 ``` Dictionary ``` ``` GetAttributes ( ) ``` Returns a dictionary of string → variant pairs for each of the `Instance|Instance’s` attributes
 ``` Objects ``` ``` GetChildren ( ) ``` Returns an array containing all of the `Instance`’s children.
 ``` string ``` ``` GetDebugId ( int scopeLength ) ``` ``` [NotBrowsable] ``` Returns a coded string of the `Instance`s DebugId used internally by Roblox.
 ``` Array ``` ``` GetDescendants ( ) ``` ``` [CustomLuaState] ``` Returns an array containing all of the descendants of the instance
 ``` string ``` ``` GetFullName ( ) ``` Returns a string describing the `Instance`’s ancestry.
 ``` RBXScriptSignal ``` ``` GetPropertyChangedSignal ( string property ) ``` Get an event that fires when a given property of an object changes.
 ``` bool ``` ``` IsA ( string className ) ``` ``` [CustomLuaState] ``` Returns true if an `Instance`’s class matches or inherits from a given class
 ``` bool ``` ``` IsAncestorOf ( Instance descendant ) ``` Returns true if an `Instance` is an ancestor of the given descendant.
 ``` bool ``` ``` IsDescendantOf ( Instance ancestor ) ``` Returns true if an `Instance` is a descendant of the given ancestor.
 ``` void ``` ``` Remove ( ) ``` ``` [Deprecated] ``` Sets the object’s Parent to nil, and does the same for all its descendants.
 ``` void ``` ``` SetAttribute ( string attribute , Variant value ) ``` Sets the attribute with the given name to the given value
 ``` Instance ``` ``` WaitForChild ( string childName , double timeOut ) ``` ``` [CustomLuaState] ``` ``` [CanYield] ``` Returns the child of the `Instance` with the given name. If the child does not exist, it will yield the current thread until it does.
 ``` Objects ``` ``` children ( ) ``` ``` [Deprecated] ``` Returns an array of the object’s children.
 ``` Instance ``` ``` clone ( ) ``` ``` [Deprecated] ```
 ``` void ``` ``` destroy ( ) ``` ``` [Deprecated] ```
 ``` Instance ``` ``` findFirstChild ( string name , bool recursive ) ``` ``` [Deprecated] ```
 ``` Objects ``` ``` getChildren ( ) ``` ``` [Deprecated] ```
 ``` bool ``` ``` isA ( string className ) ``` ``` [Deprecated] ``` ``` [CustomLuaState] ```
 ``` bool ``` ``` isDescendantOf ( Instance ancestor ) ``` ``` [Deprecated] ```
 ``` void ``` ``` remove ( ) ``` ``` [Deprecated] ```

## Events

Inherited from Instance:

 ``` RBXScriptSignal ``` ``` AncestryChanged ( Instance child , Instance parent ) ``` Fires when the `Instance/Parent` property of the object or one of its ancestors is changed.
 ``` RBXScriptSignal ``` ``` AttributeChanged ( string attribute ) ``` Fires whenever an attribute is changed on the `Instance`
 ``` RBXScriptSignal ``` ``` Changed ( string property ) ``` Fired immediately after a property of an object changes.
 ``` RBXScriptSignal ``` ``` ChildAdded ( Instance child ) ``` Fires after an object is parented to this `Instance`.
 ``` RBXScriptSignal ``` ``` ChildRemoved ( Instance child ) ``` Fires after a child is removed from this `Instance`.
 ``` RBXScriptSignal ``` ``` DescendantAdded ( Instance descendant ) ``` Fires after a descendant is added to the `Instance`
 ``` RBXScriptSignal ``` ``` DescendantRemoving ( Instance descendant ) ``` Fires immediately before a descendant of the `Instance` is removed.
 ``` RBXScriptSignal ``` ``` Destroying ( ) ``` Fires immediately before the instance is destroyed via `Instance/Destroy`.
 ``` RBXScriptSignal ``` ``` childAdded ( Instance child ) ``` ``` [Deprecated] ```