Physics Influencer
Lets a world object or prop react to a Gravity Zone or Fluid Volume. It can also adjust the object’s center of mass for those interactions or for stability (for example, keeping a vessel upright). Changes to the active sections produce a wide variety of behaviors based on physical properties.
Every object using a Physics Influencer needs a Collider and a Rigidbody. The Rigidbody is added automatically if missing.

Each section can be enabled or disabled via the tickbox on its header.
Change Center of Mass
Section titled “Change Center of Mass”
Change Center of Mass lets you modify the center of mass with a new transform, which can be any GameObject that is a child of the affected GameObject.
Center Of Mass
Section titled “Center Of Mass”Any child transform of the affected object. Repositions the center of mass of the GameObject, modifying its sitting stability, center of inertia, and (as a byproduct) center of buoyancy.
Update Continuously
Section titled “Update Continuously”Continuously updates the center of mass to track the assigned transform.
Buoyancy
Section titled “Buoyancy”
Affects the physical behavior of the object in fluid. Density is an editor-only value that shows the expected density in g/m³. Volume is calculated as the sum of every collider on the object and its children in m³.
Recalculate Density and Volume
Section titled “Recalculate Density and Volume”Recalculates the density and volume values in the inspector.
Air Drag
Section titled “Air Drag”Coefficient of drag for the unsubmerged portion while travelling straight.
Air Angular Drag
Section titled “Air Angular Drag”Coefficient of drag for the unsubmerged portion while turning.
Fluid Drag
Section titled “Fluid Drag”Coefficient of drag for the submerged portion while travelling straight.
Fluid Angular Drag
Section titled “Fluid Angular Drag”Coefficient of drag for the submerged portion while turning.
Local Gravity
Section titled “Local Gravity”
Force Align Upright
Section titled “Force Align Upright”Forces the object instantly upright relative to the direction of gravity.
Gravity Factor
Section titled “Gravity Factor”Multiplier for uprighting force based on current experienced gravity.
Gentle Align Upright
Section titled “Gentle Align Upright”Applies a force to turn the object upright relative to gravity.
Gentle Align Speed
Section titled “Gentle Align Speed”Speed at which the object returns to the aligned orientation.
Gentle Align Stability
Section titled “Gentle Align Stability”Divided by the gentle align speed (with a floor of 0.1) to dampen the uprighting motion.
Gentle Align Axis
Section titled “Gentle Align Axis”Local axis to constrain alignment torque to. Leave (0,0,0) to apply torque freely (all three axes).
Movement Parent integration
Section titled “Movement Parent integration”Enable Movement Parent
Section titled “Enable Movement Parent”When enabled, this object can act as (or be used by) a CVR Movement Parent. Read by the movement-parent system.
Ignore Forces While Parented
Section titled “Ignore Forces While Parented”When enabled, the influencer skips applying forces while the object is being driven by a Movement Parent.
Public properties
Section titled “Public properties”| Name | Type | Description |
|---|---|---|
Depth | float | Fraction of reference points currently inside a fluid volume (0–1). |
Submerged | bool | True if at least one Fluid Volume is being touched. |
AppliedGravity | Vector3 | The gravity vector currently being applied, after zone and factor adjustments. |
AppliedGravityDirection | Vector3 | Normalized AppliedGravity. |
TimeSinceEnter | float | Seconds since the object first entered a fluid volume. |
TimeSinceExit | float | Seconds since the object last exited all fluid volumes. |
The Get* accessor methods (GetDepth, GetSubmerged, GetAppliedGravity, GetAppliedGravityDirection, GetTimeSinceEnter, GetTimeSinceExit) mirror the properties above.
Buoyancy algorithm
Section titled “Buoyancy algorithm”At Start the influencer samples up to ~125 reference points across the combined bounds of every Collider on the object, snapped to the closest surface on each collider. Each FixedUpdate while submerged:
- Counts how many reference points are inside any touching fluid volume — this is
Depth. - Averages the submerged reference points to compute a center of lift.
- Lerps
dragandangularDragbetween the air and fluid values based on submerged fraction. - If the submerged mass differs from the Rigidbody mass by more than 2.5%, adds gravity at the center of mass and buoyant lift at the center of lift; otherwise zeros the relevant axes of velocity so the object sits still.
- Adds the fluid’s stream force (scaled by submerged volume).
All force applications are gated on the internal applyForces flag, which the network-sync system can flip to hand off integration to a remote owner.
- On Start, the component adds a CVR Shared Physics Controller (if not already present) and registers itself as an influence source.
- Without a Gravity Zone,
AppliedGravityisVector3.down * GravitySystem.WorldObjectGravityscaled bygravityFactor(if Enable Local Gravity is on) or justVector3.down * GravitySystem.WorldObjectGravityotherwise.
Examples
Section titled “Examples”There are currently no examples. If you would like to add one, please contribute. Community contributions can be submitted to our Documentation GitHub.
Source
Section titled “Source”CVR-GameFiles/ABI.CCK.Components/PhysicsInfluencer.cs