Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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 /
avatar image
0
Question by FuryFight3r · Apr 06, 2021 at 01:13 AM · c#inspectorreferencereferencingassign-variable

Script forgets assigned Inspector variables

Hi all, I have recently Updated my Character Controller to a more advanced one to finally rid my game of the horrid sluggish Unity provided one, I am now going through all the scripts to change the 'stopping' methods while paused/interacting ect. When I pause the game all works as expected the Walking Controller is disabled, so the player cannot move, also the Camera Controller also gets disabled as expected this stops the camera moving around while the mouse is moving while paused. Though the moment I try to click resume, it has forgotten what the 'aWC' variable was, so it attempts to get the component from the Player (the object this script is attached to) both the 'Player' and 'aWC' of which are Set as '[SerializeField]'s as can be seen in the screenshot below, the Inspecter still seems to be holding the variables, but is unable to reference them what so ever.


alt text alt text


My code for handling the the Resume Function is: (the reasoning for all the null checks is becuase it kept failing)


 public void onResume()
     {
         if(aWC != null)
         {
             aWC.enabled = true;
         }
         else
         {
             aWC = plr.GetComponent<AdvancedWalkerController>(); //ERROR  - 'plr' not assigned.
             aWC.enabled = true;
         }
 
         if(camCon != null)
         {
             camCon.enabled = true;
         }
         else
         {
             camCon = chr.GetComponent<CameraController>();
             camCon.enabled = true;
         }
 
         Cursor.lockState = CursorLockMode.Locked;
         Cursor.visible = false;
         pausedCanvas.SetActive(false);
         isPaused = false;
     }



I have also attempted to try the code as such:


 if(aWC != null)
         {
             aWC.enabled = true;
         }
         else
         {
             if(plr != null)
             {
                 aWC = plr.GetComponent<AdvancedWalkerController>();
                 aWC.enabled = true;
             }
             else
             {
                 plr = gameObject;
                 aWC = plr.GetComponent<AdvancedWalkerController>();
                 aWC.enabled = true; //ERROR PRINTOUT RETURNS HERE 'NullReferenceException'
             }
             
         }

with the problem then trurning into a viscious cycle and then forgetting the 'aWC' script Right after it has just re-assigned it. Could it be because I am disabling/enabling the 'aWC' and 'CamCon' Scripts? As this was the way I did it with the Unity Character, it never forgot who the FPC was nor the Player.


Any leads in the right direction would be greatly appreciated! Thank you and Kind Regards!

screenshot-2.png (61.4 kB)
screenshot-81.png (16.2 kB)
Comment
Add comment · Show 3
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 DCordoba · Apr 07, 2021 at 12:16 AM 0
Share

first of all, check if this is the only "pause game" component in the scene.

is a pretty common error, duplicate component and later u cannot identify what is the one with the error.

avatar image FuryFight3r DCordoba · Apr 07, 2021 at 01:32 AM 0
Share

Hi @DCordoba, yes this is certainly the only object with the pauseScript attached to is the new Player, the old player has already been removed from the game, which use to have a pause script, that used similar functions (disabling the movement script while paused) to stop the player from moving.

avatar image xxmariofer FuryFight3r · Apr 07, 2021 at 09:52 AM 0
Share

as a debugging suggestion, add an update method in the Pause script with

 if(plr == null) Debug.Log("MY NAME IS" + gameObject.name + "AND PLR NOT ASSIGNED");

so that you can make sure there are no duplicates and when it loses the reference

2 Replies

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by FuryFight3r · Apr 09, 2021 at 10:57 PM

The problem was on the button itself, the onClick() event was still trying to reference the old Player Pause Script not the new one, simply a rookie mistake :P

Comment
Add comment · Share
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
0

Answer by Nistroy · Apr 07, 2021 at 10:47 AM

Why not do that? Remove the plr variable and just put GetComponent<>() @FuryFight3r

  public void onResume()
      {
          if(aWC != null)
          {
              aWC.enabled = true;
          }
          else
          {
              aWC = GetComponent<AdvancedWalkerController>();
              aWC.enabled = true;
          }
  
          if(camCon != null)
          {
              camCon.enabled = true;
          }
          else
          {
              camCon = chr.GetComponent<CameraController>();
              camCon.enabled = true;
          }
  
          Cursor.lockState = CursorLockMode.Locked;
          Cursor.visible = false;
          pausedCanvas.SetActive(false);
          isPaused = false;
      }
Comment
Add comment · Show 2 · Share
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 FuryFight3r · Apr 09, 2021 at 10:56 PM 0
Share

Hi thanks for the suggestion though in every single script for my project even if it is attched to the 'Player' itself I will always reference the player as 'plr' so it is consistent between all scripts

avatar image Nistroy FuryFight3r · Apr 10, 2021 at 09:20 AM 0
Share

Okk my bad

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

707 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Assign video in inspector via script 0 Answers

Distribute terrain in zones 3 Answers

Referenced GameObject in inspector tracked different when set via code 0 Answers

I'm having problems with referencing other scripts. 2 Answers

Newly created scripts cannot be referenced 2 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