Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 14 Next capture
2021 2022 2023
2 captures
12 Jun 22 - 14 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 Tetzio · Dec 02, 2018 at 04:06 AM · gameobjectgetcomponentreferencesetactiveenable and disable script

Reference a script on a gameobject that is disabled in scene

Hello, I'm trying to figure out how I can reference a script and get values from it when the script is attached to a gameobject that is disabled at runtime but the gameobject becomes enabled after a user action. Currently I have a scripts on weapons the player can use, the player can use mouse-wheel to change weapons, which enables and disables the weapons depending on whatever is currently being held. If the player shoots one of these weapons an action in another script is triggered. However, currently the script is only reading if the weapon the player is holding, the enabled one, on startup shoots, the others, the disabled ones, don't trigger any actions. I'm sure it is because the game cannot find the gameobjects to read the scripts because they are disabled, but I'm not sure how to fix it or how to make the game constantly check if the gameobjects become enabled. I have this for when a weapon is switched, it enables and disables the weapons.

 void SelectWeapon()
 {
      int i = 0;
      foreach(Transform weapon in transform)
      {
           if(i==currentWeapon)
           {
               weapon.gameObject.SetActive(true);
           }
           else
               weapon.gameObject.SetActive(false);
           i++;
      }
 }

This is one a gameobject in the scene, it should detect when the bool from the weapon being shot is triggered. Currently the bool is being triggered but it's not being read unless the weapon was enabled by default.

 public class Loud : MonoBehaviour {
     public bool isLoud;
     AK47 akReference;
     Carbine carbineReference;
     Shotgun shotgunReference;
     void Start() {
         akReference = GameObject.FindWithTag("AK").GetComponent<AK47>();
         carbineReference = GameObject.FindWithTag("Carbine").GetComponent<Carbine>();
         shotgunReference = GameObject.FindWithTag("Shotgun").GetComponent<Shotgun>();
         isLoud = false;
     }
     void Update() {
         if (akReference.akShot || carbineReference.carbineShot || shotgunReference.shotgunShot) 
         {
             spotlightColor.color = (Color.red);
             //Debug.Log("LOUD!!");
             isLoud = true;
         }
     }
 }

I'm not sure how I can make it so the bools can be detected after the gameobject has been enabled or if there is a workaround?

Comment
Add comment
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

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

204 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

Related Questions

Addressables' references - right object is there, but not! 1 Answer

how do I add link script to gameobject that already exist with attached script 1 Answer

Object reference; sometimes works but sometimes doesn't??? 2 Answers

access object from another 2 Answers

SetActive is just working if i press twice in the first time 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