• 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 Tanoshimi2000 · Jun 02, 2014 at 04:32 PM · create

Script to run at creation of Prefab, not Start or Awake

Topic says it all. Basically, I need to set some variables when the prefab is dragged and dropped onto the scene.

For example, I have a prefab of cars, and a script that changes the color of the car to a random color. I don't want all black cars in the editor, and then cars that are a different color each time I run the program. I want cars that are dropped on as black, instantly set to a color, and then that color remains the same at each time it's run.

I suppose I may be able to make an editor and use the editor to "paint" cars onto the scene, and have the editor script set the color.

But is it possible to have a script that's attached to the car that will set it's color when created?

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

2 Replies

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

Answer by Jeff-Kesselman · Jun 02, 2014 at 04:33 PM

What you a re looking for, it sounds like, is to have it execute while in the editor.

You do that with the ExecuteInEditMode attribute

http://docs.unity3d.com/ScriptReference/ExecuteInEditMode.html

Comment
Add comment · Show 1 · 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 Tanoshimi2000 · Jun 02, 2014 at 06:56 PM 0
Share

This sounds like exactly what I need. I'll try it out, but I assume from reading the reference that it will do what I want.

avatar image
0

Answer by fafase · Jun 02, 2014 at 04:43 PM

This module http://unity3d.com/learn/tutorials/modules/intermediate/editor/adding-buttons-to-inspector

shows how to create a button to execute an action. Maybe you could add your object and then press the button to perform all kind of actions you are after.

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 Tanoshimi2000 · Jun 02, 2014 at 06:57 PM 0
Share

This is also a good answer. It's not exactly what I wanted, but it's a good workaround, if Jeff $$anonymous$$. had not hit the mark. Sorry I can't vote you up.

avatar image fafase · Jun 02, 2014 at 07:00 PM 0
Share

$$anonymous$$eep in $$anonymous$$d that the ExecuteInEdit$$anonymous$$ode only works the first time. Then you won't get the changes. That may be what you want but it means if your car is black it won't change color anymore.

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

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

22 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

Related Questions

Joints Configured from Script do not work properly? $20 reward 3 Answers

C#: read text file and interpret as script at runtime? 1 Answer

Dynamically create GUIText from script. 2 Answers

how do you create an ios asset bundle from the editor 1 Answer

Mesh and material disappear after CreatePrefab() in C# 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