Object Player Movement stops working after Restarting Unity
Hi all,
As the question title says: my object which is a controllable player's movement was working until I closed and re-opened Unity.
This has happened twice so far. After the first time, I simply deleted the player object and then reattached all the scripts... which worked. But then, I closed Unity and reopened it, and the problem happened again!
These are all the scripts I've attached to the player "Chicken":
MOVEMENT:
using UnityEngine;
using System.Collections;
public class Movement : MonoBehaviour {
public float playerSpeed = 5.0f;
public float smooth = 5.0f;
public float tiltAngle = 90;
public float speed;
void Start ()
{
//player spawns here
transform.position = new Vector3(385, 0, 318);
}
// Update is called once per frame
void Update (){
if(Input.GetKey(KeyCode.W)){
transform.Translate(0,0,5*Time.deltaTime);
// Rotate the cube by converting the angles into a quaternion.
transform.rotation = Quaternion.Euler(0, -90, 0);
}if(Input.GetKey(KeyCode.S)){
transform.Translate(new Vector3(0,0,5)*Time.deltaTime);
transform.rotation = Quaternion.Euler(0, 90, 0);
}if(Input.GetKey(KeyCode.D)){
transform.Translate(0,0,5*Time.deltaTime);
// Rotate the cube by converting the angles into a quaternion.
transform.rotation = Quaternion.Euler(0, 0, 0);
}if(Input.GetKey(KeyCode.A)){
transform.Translate(new Vector3(0,0,5)*Time.deltaTime);
// Rotate the cube by converting the angles into a quaternion.
transform.rotation = Quaternion.Euler(0, 180, 0);
}
}
}
JUMP:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Jump : MonoBehaviour
{
public Animator anim;
private CharacterController controller;
private float verticalVelocity;
private float gravity = 14f;
private float jumpForce = 5.0f;
// Start is called before the first frame update
void Start()
{
controller = GetComponent<CharacterController>();
anim = GetComponent<Animator>();
}
// Update is called once per frame
void Update()
{
if (Input. GetKeyDown(KeyCode.Space))
{
anim.Play("Run In Place");
}
if (Input. GetKeyUp(KeyCode.Space))
{
anim.Play("Idle");
}
if(controller.isGrounded){
verticalVelocity = -gravity * Time.deltaTime;
if(Input.GetKeyDown(KeyCode.Space))
{
verticalVelocity = jumpForce;
}
} else {
verticalVelocity -= gravity * Time.deltaTime;
} Vector3 moveVector = new Vector3 (0,verticalVelocity,0);
controller.Move(moveVector * Time.deltaTime);
}
}
ANIMATION:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class animController : MonoBehaviour
{
public Animator anim;
// Start is called before the first frame update
void Start()
{
anim = GetComponent<Animator>();
}
// Update is called once per frame
void Update()
{
if (Input. GetKeyDown(KeyCode.W))
{
anim.Play("Walk W Root");
}
if (Input. GetKeyDown(KeyCode.S))
{
anim.Play("Walk W Root");
}
if (Input. GetKeyDown(KeyCode.A))
{
anim.Play("Walk W Root");
}
if (Input. GetKeyDown(KeyCode.D))
{
anim.Play("Walk W Root");
}
else if (Input. GetKeyUp(KeyCode.W))
{
anim.Play("Idle");
}
else if (Input. GetKeyUp(KeyCode.S))
{
anim.Play("Idle");
}
else if (Input. GetKeyUp(KeyCode.A))
{
anim.Play("Idle");
}
else if (Input. GetKeyUp(KeyCode.D))
{
anim.Play("Idle");
}
}
}
Here is the Inspector bar for "Chicken:
I'm still a beginner with Unity so any response would be greatly appreciated! Thank you!
Your answer
Follow this Question
Related Questions
How do I get a character to walk on walls and ceilings? 1 Answer
Moving simultaneously with UP LEFT, W D using GetAxisRaw. Rotating localScale to flip animation 2 Answers
Why can my character controlled player can stand on the side of a block? 0 Answers
´How to check if 3D player is moving? 0 Answers
Object rotates when moving sideways 0 Answers