package.fish.scc Manually update this by calling Move() or let it always be simulated If pushing against a wall, scale the velocity based on the wall's angle (False is useful for NPCs that get stuck on corners) Width of our trace Height of our trace Which tags it should ignore Max amount of trace calls whenever the simulation doesn't reach its target (Slide and collide bounces) How fast you accelerate while on the ground (Units per second) How fast you decelerate while on the ground (Units per second) How fast you accelerate while in the air (Units per second) How fast you decelerate while in the air (Units per second) Do we ignore the friction of the surface you're standing on or not? Is this MoveHelper meant for horizontal grounded movement? (false = For flying or noclip) Do we ignore Z when it's near 0 (So that gravity affects you when not moving) Tolerance from a 90° surface before it's considered a wall (Ex. Tolerance 1 = Between 89° and 91° can be a wall, 0.1 = 89.9° to 90.1°) Player feels like it's gripping walls too much? Try more Grip Factor Reduction! Stick the MoveHelper to the ground (IsOnGround will default to false if disabled) How steep terrain can be for you to stand on without slipping How far from the ground the MoveHelper is going to stick (Useful for going down stairs!) Enable steps climbing (+1 Trace call) How high steps can be for you to climb on How deep it checks for steps (Minimum depth) Tolerance from a 90° surface before it's considered a valid step (Ex. Tolerance 1 = Between 89° and 91° can be a step, 0.1 = 89.9° to 90.1°) Enable to ability to walk on a surface that's too steep if it's equal or smaller than a step (+1 Trace call when on steep terrain) Instead of colliding with these tags the MoveHelper will be pushed away (Make sure the tags are in IgnoreTags as well!) Which tags will push this MoveHelper away and with how much force (Make sure they are also included in IgnoreTags!) (+1 Trace call) Apply gravity to this MoveHelper when not on the ground Use the scene's gravity or our own Units per second squared (Default is -850f) Check if the MoveHelper is stuck and try to get it to unstuck (+Trace calls if stuck) How many trace calls it will attempt to get the MoveHelper unstuck The simulated target velocity for our MoveHelper (Units per second, we apply Time.Delta inside) The resulting velocity after the simulation is done (Units per second) Is the MoveHelper currently touching the ground The current ground angle you're standing on (Always 0f if IsOnGround false) The current surface you're standing on The gameobject you're currently standing on Is the MoveHelper currently pushing against a wall The current wall normal you're pushing against (Always Vector3.Zero if IsPushingAgainstWall false) The gameobject you're currently pushing on Is the MoveHelper standing on a terrain too steep to stand on (Always false if IsOnGround false) The MoveHelper is stuck and we can't get it out To avoid getting stuck due to imprecision we shrink the bounds before checking and compensate for it later The bounds of this MoveHelper generated from the TraceWidth and TraceHeight If another MoveHelper moved at the same time and they're stuck, let this one know that the other already unstuck for us Casts the current bounds from to and returns the scene trace result Detach the MoveHelper from the ground and launch it somewhere (Units per second) Apply the WishVelocity, update the Velocity and the Position of the GameObject by simulating the MoveHelper Just calculate but don't update position Apply the WishVelocity, update the Velocity and the Position of the GameObject by simulating the MoveHelper The time step Just calculate but don't update position Sometimes we have to update only the position but not the velocity (Like when climbing steps or getting unstuck) so we can't have Position rely only on Velocity Debug don't use Move a vector3 towards a goal by a fixed distance Project a vector along a plane (normal) and scale it back to its original length