- Home /
Setting refrences in a script
most of my questions dont get trough for some reason, i ask them and they dont show up in my profile, so i hope this one does. But anyway, i have some trouble setting refrences in my script, first it doesnt find them and when i assaing them in the editor i cant call them. Thanks in advance.
Here is a Part of my script
public FirstPersonController fpc;
public CharacterController cc;
void Start ()
{
fpc = GetComponent<FirstPersonController>();
cc = gameObject.GetComponent<CharacterController>();
}
void Update ()
{
fpc.UseGravity = false;
}
... This question still doesn't deserve to get through, apparently someone felt sorry for you. I'm not sure exactly what you are asking.
Note that proper capitalisation also makes it more likely to beat the mod queue.
What exactly is not working? Do you get any errors? What behaviour do you expect, and what are you getting ins$$anonymous$$d.
Answer by DoTA_KAMIKADzE · Apr 20, 2015 at 01:02 AM
GetComponent<FirstPersonController>();
This^ gets already existing component "FirstPersonController" from the object which contains this code script. In order for it to get it the object should have it.
Using public/[SerializeField] you can set reference to your component from Inspector without the need of "GetComponent".
If you want to add component from script you should do it like this:
fpc = gameObject.AddComponent<FirstPersonController>();
If you want just to add class instance then:
fpc = new FirstPersonController();
To check availability of your component use something like this:
void Update ()
{
if(fpc != null)fpc.UseGravity = false;
else Debug.Log("fpc absent");
}
P.S. And as for your questions not appearing - if they are incorrect/unrelated/rude/etc. they might get rejected.
Answer by revolute · Apr 20, 2015 at 01:05 AM
First, make sure you have added the components correctly. You have to attach the controllers to the GameObject that has your script above.
Second, even if you assign them manually in editor, "fpc" and "cc" will be null after start because you set them up incorrectly.
Your answer
Follow this Question
Related Questions
Loading a specific set of sprites with addressables 0 Answers
Duplicating Component with Some Scene References in Serialized Scriptable Object Class Reference 0 Answers
How can I reference objects from a different Asset Bundle ? 0 Answers
Folder Trick Doesn't Work: Referencing JS from C# 0 Answers
How to reference a GameObject that shares position with gameObject 0 Answers