- Home /
NullReferenceException: Object reference not set to an instance of an object
I've wasted many time trying to fix this I've been adding a player model and added a cube as an arm and made it as an arm and placed it in the character model but seriously I have no idea what so ever what to do. it told me to find an object update something and place the cube there I think here is the code
using UnityEngine; using System.Collections;
public class CharacterInputController : MonoBehaviour {
private CharacterCollider character;
private CharacterMotor motor;
private CharacterMotorSwimming waterMotor;
private Map map;
private float jumpPressedTime = -100;
// Use this for initialization
void Awake() {
character = GetComponent<CharacterCollider>();
motor = GetComponent<CharacterMotor>();
waterMotor = GetComponent<CharacterMotorSwimming>();
map = (Map) GameObject.FindObjectOfType( typeof(Map) );
}
// Update is called once per frame
void Update () {
Vector3 direction = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
direction = Vector3.ClampMagnitude(direction, 1);
if(IsInWater()) {
waterMotor.enabled = true;
motor.enabled = false;
waterMotor.inputEmersion = Input.GetButton("Jump");
waterMotor.inputMoveDirection = transform.TransformDirection(direction);
} else {
waterMotor.enabled = false;
motor.enabled = true;
motor.inputMoveDirection = transform.TransformDirection(direction);
if(Input.GetButtonDown("Jump")) {
jumpPressedTime = Time.time;
}
if( !Input.GetButton("Jump") ) {
jumpPressedTime = -100;
}
motor.inputJump = Time.time - jumpPressedTime <= 0.2f;
motor.holdingInputJump = Input.GetButton("Jump");
}
}
private bool IsInWater() {
Vector3 bottom = transform.position;
Vector3 top = bottom + Vector3.up*character.height;
Vector3 pos = Vector3.Lerp(bottom, top, 0.2f);
return map.GetBlock( Mathf.RoundToInt(pos.x), Mathf.RoundToInt(pos.y), Mathf.RoundToInt(pos.z) ).IsFluid();
}
}
it told me to find an object update something and place the cube there I think
Who/what is 'it' and what does that mean? This script will generate a null reference is the game object this script is attached to doesn't also have all three of the following scripts attached:
CharacterCollider
Character$$anonymous$$otor
Character$$anonymous$$otorSwim$$anonymous$$g
And there needs to be one object in the scene that has a '$$anonymous$$ap' script attached.
When posting problems that generates errors, it really helps us if you copy and past the entire error message into your question. At this point we can only guess what line(s) are generating the error(s).
Your answer
![](https://koobas.hobune.stream/wayback/20220613135831im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
can you make a prefab but without a model? 3 Answers
How to put label to a 3d object? 0 Answers
2D - How do you set the order in which game objects appear on screen? 1 Answer
Get all child objects within an object? 2 Answers
[Modeling] Splitting and Rejoining Objects -- Good or bad practice? 1 Answer