• 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 alorimer26 · Jan 27, 2017 at 06:26 PM · objectaudiosourceactivevisible

Code running in a previous state with old data after setting objects to active

In my game I have it setup to change rooms to inactive when they are out of sight, and back to active when the player goes close enough.

Visibly it works great. However... objects in a room that 'changed' (ie a door opening) redo that change the next time the room becomes active. This is particularly an issue because they redo this without running the proper code again.

For example- I throw a switch and hear the appropriate sound effect. I leave to go away a few rooms, put a breakpoint (Using Visual Studio) the ONLY place the switch sound is played, and return. The switch sound plays again and never trips the breakpoint. Ive tried making it so that the switches audio source drops off to nothing at a distance less then the player has gone and it still plays at the same volume making it seem as if the logic has the old position for the player.

As best as I can understand it... when an object is reset to active it reapplies code that was run on it previously in the state it was at that point. For some stuff thats great, but for other stuff its a serious issue if I cant control it.

I can make things work by always rendering objects like this... but it causes a painful rendering overhead on my phone.

Has anyone else encountered something like this, and maybe has an idea of something I can try?

If my explanation of code running in a previous state with old data makes sense... can anyone point me at what sort of engine tool/structure in unity this is? Ive never encountered something quite like this so I dont know what to search for.

Thanks.

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

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by alorimer26 · Jan 28, 2017 at 08:51 AM

Hmm I did find a better approach which handles my problems. Now instead of setting things to inactive, I just disable the renderer and collider components. Because the objects remain active they dont run any code over again.

I would still really like to know more about why code can be run again in an old state like this though.

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

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.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

Activate object if visible and Deactivate object if invisible 2 Answers

Destroy and instantiate far objects 2 Answers

Making 3D Objects invisible 1 Answer

i want the player to match 5 items correctly before next scene appears. 1 Answer

issue with PlayerPref destroying all objects 1 Answer


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