Question by 
               YTRYDMINER · Feb 02, 2021 at 03:01 PM · 
                charactercontrollerjumpjumpingcharacter movementjumping object  
              
 
              How can I modify this to allow jumping with space?
I've tried almost every tutorial out there to allow jumping with this script for a charactercontroller and nothing has worked. Can somebody help me out?
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class PlayerController : MonoBehaviour
 {
     [SerializeField] Transform playerCamera = null;
     [SerializeField] float mouseSensitivity = 3.5f;
     [SerializeField] float walkSpeed = 6.0f;
     [SerializeField] float gravity = -13.0f;
     [SerializeField][Range(0.0f, 0.5f)] float moveSmoothTime = 0.3f;
     [SerializeField][Range(0.0f, 0.5f)] float mouseSmoothTime = 0.03f;
     [SerializeField] float jumpHeight = 1.0f;
 
     [SerializeField] bool lockCursor = true;
 
     float cameraPitch = 0.0f;
     float velocityY = 0.0f;
     CharacterController controller = null;
 
     Vector2 currentDir = Vector2.zero;
     Vector2 currentDirVelocity = Vector2.zero;
 
     Vector2 currentMouseDelta = Vector2.zero;
     Vector2 currentMouseDeltaVelocity = Vector2.zero;
 
     void Start()
     {
         controller = GetComponent<CharacterController>();
         if(lockCursor)
         {
             Cursor.lockState = CursorLockMode.Locked;
             Cursor.visible = false;
         }
     }
 
     void Update()
     {
         UpdateMouseLook();
         UpdateMovement(); 
     }
 
     void UpdateMouseLook()
     {
         Vector2 targetMouseDelta = new Vector2(Input.GetAxis("Mouse X"), Input.GetAxis("Mouse Y"));
 
         currentMouseDelta = Vector2.SmoothDamp(currentMouseDelta, targetMouseDelta, ref currentMouseDeltaVelocity, mouseSmoothTime);
  
         cameraPitch -= currentMouseDelta.y * mouseSensitivity;
         cameraPitch = Mathf.Clamp(cameraPitch, -90.0f, 90.0f);
 
         playerCamera.localEulerAngles = Vector3.right * cameraPitch;
         transform.Rotate(Vector3.up * currentMouseDelta.x * mouseSensitivity);
     }
 
     void UpdateMovement()
     {
         Vector2 targetDir = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"));
         targetDir.Normalize();
 
         currentDir = Vector2.SmoothDamp(currentDir, targetDir, ref currentDirVelocity, moveSmoothTime);
 
         if(controller.isGrounded)
             velocityY = 0.0f;
 
         velocityY += gravity * Time.deltaTime;
 
         Vector3 velocity = (transform.forward * targetDir.y + transform.right * targetDir.x) * walkSpeed + Vector3.up * velocityY;
 
         controller.Move(velocity * Time.deltaTime);
 
         int x; //your int variable 
             if(controller.isGrounded && Input.GetButton("Jump")) { 
                 for(int i = 0; i < x; i++){
                 //your line/lines of code 
                 } 
             }  
     }
 }
 
the last couple of lines are the needed code.
               Comment
              
 
               
              Your answer
 
 
             Follow this Question
Related Questions
jumping for different characters? 0 Answers
Jump, if I touch button,Jump if I pres the touch button 0 Answers
Need help with Character Jump! 0 Answers
how to stop infinite jumping in air? 0 Answers
Why does AddForce have various results? 0 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                