EngineIntermediate

Characters and cameras

Move CharacterVirtual objects, inspect ground state, crouch, jump, and follow the player.

Character movement

Characters use Jolt CharacterVirtual. Set horizontal velocity directly and preserve the current Y component so gravity and jumping continue naturally.

local velocity = gameObject.getCharacterVelocity()
gameObject.setCharacterVelocity(0, velocity.y, 5)

Ground state

  • isOnGround()
  • getGroundNormal() and getGroundVelocity()
  • getGroundObjectId(), getGroundObject(), and getGroundInfo()
  • getSlopeAngle() and isSlopeTooSteep()

Jumping and crouching

jump() uses the character’s configured jump speed. setCrouched(true) returns whether the capsule could change safely; isCrouched() reports the current state.

Third-person cameras

A camera behind the character uses a negative local Z offset, for example {x=0, y=0.4, z=-1.5}, and looks back toward the character. Built-in follow camera modes expose their live smoothed transform through the normal game object API.