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 /
avatar image
0
Question by technano · Feb 21, 2017 at 07:22 AM · gameobjectprefabsreferences

Prefab doesn't keep it's public variable when Instantiated?

So I'm trying to make a prefab for animated text and I want to Instantiate it by clicking a button. When I set the button up and run the game Unity says I'm missing a reference to the text object on the prefab. Why doesn't the text object stay on the animated text prefab? In fact once I turn the animated text object a prefab it losses it's reference to the text object, why?

Comment
Add comment · Show 1
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 technano · Feb 21, 2017 at 07:24 AM 0
Share

I've tried to add a [Require(typeOf(Text))] on the script, but that does nothing either

2 Replies

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

Answer by tanoshimi · Feb 21, 2017 at 08:01 AM

Prefabs can't store references to instantiated objects in the scene hierarchy. What you should do is populate references to scene objects in the Start() method.

Comment
Add comment · Show 3 · 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 technano · Feb 27, 2017 at 09:44 PM 0
Share

Thank you so much that worked for me! I just used the GameObject.Find() method in the Start() and it's working now!

avatar image leebrond · May 15, 2017 at 08:22 AM 0
Share

Hi.. can you explain more and give some example? i'm having the same problem but i don't understand how to call the object in the start() method. Thank you very much.

@technano @tanoshimi

avatar image RobAnthem leebrond · May 15, 2017 at 08:29 AM 0
Share

like this.

 public class ObjectA : $$anonymous$$onoBehaviour
 {
     public ObjectB objectB;
     void Start()
     {
         objectB = FindObjectOfType<ObjectB>();
         objectB.isFound = true;
     }
 }


and

 public class ObjectB : $$anonymous$$onoBehaviour
 {
     public bool isFound;
 }

of course if all you will ever have is a single ObjectB, then singleton or static management is better, like this.

 public class ObjectB : $$anonymous$$onoBehaviour
 {
     public static ObjectB instance;
     public bool isFound;
     void Awake()
     {
         instance = this;
     }
 }

and

 public class ObjectA : $$anonymous$$onoBehaviour
 {
     void Start()
     {
         ObjectB.instance.isFound = true;
     }
 }
avatar image
0

Answer by samf1111 · Aug 20, 2020 at 09:59 PM

it worked for me when i used '[SerializeField]' instead of 'public'

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.

Follow this Question

Answers Answers and Comments

82 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

Related Questions

Reinitialize prefab 0 Answers

using Contains(gameObject) to find and destroy a gameObject from a list 2 Answers

Is it necessary to assign the result of Instantiate() to a variable and is there a need to always typecast? 1 Answer

Problem to play animation in C# 5 Answers

Save a gameobject as prefab on button press.,Is there a way for the player to create a prefab with a button press? 3 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