ScriptName versus PingPongScriptName?
I am having a very strange problem that I have never seen before, and after searching the internet, looks like no one else has ever seen it either. I am trying to reference a different script through code in order to access a variable and change it. Sounds easy.
I am well aware of using GetComponent().variable. But that is not the case this time.
Unity does cannot find ScriptName when I try to access it from another script, like when trying to make it a variable by way of:
public ScriptName script;
But it does find PingPongScriptName. This is where I get lost.
I tried using the normal conventions for accessing variables for the script by using this PingPongScriptName that shows up. No accessible features from that script are available.
This is a downloaded script that I got from the asset store, it works just fine when applied to gameobjects, and the script using properties with get and set accessors. So I know that they intended for the variables to be accessed by other scripts. Does anyone have any idea what is going on?
It's a guessing game with so little info. Are they interfaces or classes? $$anonymous$$onoBehaviours? Do you mean the autocomplete doesn't offer the ScriptName and compiler doesn't recognise it? Or that the public ScriptName script; always stays null when you use GetComponent to assign to it?
$$anonymous$$y first guess would be this has something to do with access modifiers. Is ScriptName protected?
Sorry, they are classes. The class that I am trying to reference is a partial class. The autocomplete does not recognize the actual name of the class. If I use the actual name of the class, it gets a compile error. The public ScriptName script does stay null even after I use GetComponent to assign it. The autocomplete finds PingPongScriptName, but even if I assign that to public PingPongScriptName script, it still stays null.
It is just very unusual because I have never seen a class name changed in the autocomplete like that. There is nothing in the project by the name of PingPongScriptName.
namespace WhiteCat.Paths
{
/// <summary>
/// 在路径上移动
/// </summary>
[AddComponent$$anonymous$$enu("White Cat/Path/$$anonymous$$ove Along Path")]
[Disallow$$anonymous$$ultipleComponent]
public partial class $$anonymous$$oveAlongPath : ScriptableComponentWithEditor
{
public float speed
{
get { return _speed; }
set { _speed = value; }
}
}
}
This is what I am trying to access from that code. As you can see, it uses get and set so it should be possible to access them.
Your answer
![](https://koobas.hobune.stream/wayback/20220612090100im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Having multiple UNET errors that I believe are caused by unity itself. Am I doing something wrong? 1 Answer
How attach C# script by argument? 3 Answers
Preventing name duplication in Hierarchy(getting selected GameObject) 1 Answer
RPG instantiate problem 3 Answers
The bullet never destroyed!!! 2 Answers