Question by 
               SpyderManToo · Jan 21, 2021 at 04:51 PM · 
                movementplayerjumpplayer movementslide  
              
 
              How to add bunnyhopping or sliding?
I want to make my first person parkour game more exciting because it feels too slow paced. Ive changed the move speed, fov, friction, but it still doesnt feel right. I want it to feel like something from krunker.io(a game which ive played a lot but not recently) or karlsson.
heres my movement code
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.SceneManagement;
 
 public class PlayerController : MonoBehaviour
 {
     [SerializeField] GameObject cameraHolder;
     [SerializeField] GameObject player;
     [SerializeField] GameObject crouchGFX;
     [SerializeField] GameObject playerGFX;
 
     [SerializeField] float jumpForce, mouseSensitivity, smoothTime;
 
     [SerializeField]
     float walkSpeed;
 
 
     const float startWalkSpeed = 7;
 
     float verticalLookRotation;
 
     bool grounded;
     bool canJump;
 
     Vector3 smoothMoveVelocity;
     Vector3 moveAmount;
     Vector3 offset = new Vector3(0, 0.2f, 0);
 
     Vector3 playerPos;
 
 
     Rigidbody rb;
 
     void Awake()
     {
     playerPos = player.transform.position;
 
     walkSpeed = startWalkSpeed;
 
     Cursor.lockState = CursorLockMode.Locked;
         Cursor.visible = false;
 
     canJump = true;
 
     rb = GetComponent<Rigidbody>();
 
     }
 
     void Update()
     {
     Move();
        Jump();
     Look();
     Crouch();
 
 
     }
 
     void Move()
     {
     Vector3 moveDir = new Vector3(Input.GetAxisRaw("Horizontal"), 0, Input.GetAxisRaw("Vertical")).normalized;
 
     moveAmount = Vector3.SmoothDamp(moveAmount, moveDir * walkSpeed, ref smoothMoveVelocity, smoothTime);
 
 
 
     }
 
     void Jump()
     {
     if(Input.GetKeyDown(KeyCode.Space) && grounded && canJump)
     {
         rb.AddForce(transform.up * jumpForce);
     }
     }
 
     void Look()
     {
     transform.Rotate(Vector3.up * Input.GetAxisRaw("Mouse X") * mouseSensitivity);
 
     verticalLookRotation += Input.GetAxisRaw("Mouse Y") * mouseSensitivity;
     verticalLookRotation = Mathf.Clamp(verticalLookRotation, -50f, 50f);
 
     cameraHolder.transform.localEulerAngles = Vector3.left * verticalLookRotation;
     }
 
     void Crouch()
     {
     if(Input.GetKey(KeyCode.LeftShift))
     {
         playerGFX.SetActive(false);
         crouchGFX.SetActive(true);
         canJump = false;
 
         cameraHolder.transform.position = new Vector3(player.transform.position.x, player.transform.position.y + 0.25f, player.transform.position.z);
 
         walkSpeed = startWalkSpeed/2;
     }
     else
     {
         playerGFX.SetActive(true);
         crouchGFX.SetActive(false);
         canJump = true;
         walkSpeed = startWalkSpeed;
 
         cameraHolder.transform.position = new Vector3(player.transform.position.x, player.transform.position.y + 0.75f, player.transform.position.z);
     }
     }
 
 
     void FixedUpdate()
     {
     rb.MovePosition(rb.position + transform.TransformDirection(moveAmount) * Time.fixedDeltaTime);
     }
 
     public void SetGroundedState(bool _grounded)
     {
     grounded = _grounded;
     }
 
     void OnTriggerEnter(Collider other)
     {
     if(other.gameObject.CompareTag("Lava"))
     {
         Die();
     }
     else
     {
         return;
     }
     }
 
     void Die()
     {
     SceneManager.LoadScene("Level01");
     }
 }
 
 
               how do i add bhopping? i also wanna add sliding when crouching so i can bhop rly rly rly rly rly rly fast like in krunker
someone help pls
               Comment
              
 
               
              Your answer