Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
  • Help Room /
avatar image
0
Question by Anthonyknowles · Nov 10, 2015 at 01:13 PM · c#getcomponentnull reference exception

Struggling with Unity 5 GetComponent: Null reference

Hi, I have read a lot of the posts here and none of them are facing my issue. usually this null reference is caused by either accessing a parent when you are not supposed to or the component simply is not attached...Let me start by explaining my hierarchy, specifically what i'm trying to access.

I have a cube with no mesh renderer or collider and it has a door mesh with colliders inside it. the point of the cube is to change the rotation axis of the door therefore the "Rotations script" called doorscript is on the parent of the mesh that I will be raycasting.

Everything works up until it tries to access the script and its function. although mono did suggest the script name when i wrote it.

Here is the problematic line that unity is complaining about

 hit.collider.transform.parent.GetComponent<doorscript>().changedoorstate();

and my code is :

 using UnityEngine;
 using System.Collections;
 
 public class interactScript : MonoBehaviour {
 
     public float interactdistance = 5f;
 
     void Update () {
     if (Input.GetKeyDown(KeyCode.E)){
             Ray ray = new Ray(transform.position,transform.forward);
             RaycastHit hit; 
 
             if(Physics.Raycast(ray, out hit, interactdistance)){
                 if(hit.collider.CompareTag("door")){
                     Debug.Log("Hit Door");
                     hit.collider.transform.parent.GetComponent<doorscript>().changedoorstate();
                 }
             }
         }
     }
 }

 

I have been having these issues non stop when using GetComponent in unity 5 so much that I'd rather just not use it at all :( please can someone help me understand why is is giving me a null reference exception like

NullReferenceException: Object reference not set to an instance of an object interactScript.Update () (at Assets/interactScript.cs:16)

Comment
Add comment · Show 2
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image ARKMs · Nov 10, 2015 at 02:05 PM 1
Share

¿Can you upload a screenshot of hierachy? And mark the GameObject with $$anonymous$$eshCollider and the GameObject with script 'doorscript'.

avatar image Anthonyknowles ARKMs · Nov 10, 2015 at 02:15 PM 0
Share

Your question made me second guess myself. So i checked the hierarchy again and the assets from the store that I am using had the mesh embedded in the child making the child "door" of my hinge object the actual parent. confusing but fixed! If anyone is reading - check your heirarchy!! Thanks @AR$$anonymous$$$$anonymous$$s

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

35 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

GetComponnent null reference C# 1 Answer

Having a issue with a NullReferenceException 1 Answer

Changing script variable from another script doesn't change it in the original script? 0 Answers

getcomponent cant find every button script in every gameobject 1 Answer

Referencing a GameObject's Components from if Statements (c#) 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges