- Home /
Add custom properties to Objects
I mainly worked in Flash and AS3, and I am a bit "noob-ish" on Unity's language. I was wondering how can a add a custom value/property to an object, for example:
CustomObject.customValue = "The meaning of puppies"
and could a custom boject value be stored in a array with the object?
Answer by kolban · May 08, 2012 at 08:50 PM
Think of an Object as having "Components" that can be added to it. Many of the components are Unity3D provided. However, if you create a Script (eg. JavaScript) then this becomes a component that can be added to your object. In your JavaScript, you can define public variables (properties). These then become exposed properties of your Component.
Now let us assume that you have a GameObject which has an attached Script (eg. MyScript). You can get a reference to that component with:
var myScript:MyScript = GetComponent.<MyScript>();
Now you have a reference to your instance of MyScript attached to the Game Object, you can access its properties:
if (myScript.customValue == "puppies") ...
The properties within a Script can include arrays.
but can't I store the info in my GameObject, ins$$anonymous$$d of another variable, because i use a for each loop, and I need a extra property for say a spin direction.
for (var i:GameObject in planets)
You can't add extra properties to 'GameObject'- but, as kolban says, you'd never want to, because you're meant to put this stuff in script components attached to your GameObjects!
Your answer
Follow this Question
Related Questions
How to preserve array of custom objects in inspector? 0 Answers
Adding an object to an array of custom objects (JS) 1 Answer
Array of classes on SerializedProperty 2 Answers
How to get the key from Array value 1 Answer
Array of GameObjects 4 Answers