Im kinda new to c#. I used to work with World Editor(warcraft 3)and there you could assign an object to a variable as simple as below
set udg_MyObject = gg_unit_hfoo_0000
Where “udg_MyObject” is a variable
and “gg_unit_hfoo_0000” is an actual object
I know that C# and War3 use kind of different script mechanics, so this is what i want:
I want to have a variable that i could use in many different scripts that will refer to the object i need.(the target object will also change in game so i need to use variable for it)
“Kind of different” hits the nail on the head In C# every variable has a type, which you need to know beforehands. Assuming you have a GameObject type (which you usually have in Unity), you could create a variable like that:
GameObject myGameObject = referenceToAGameObject;
where myGameObject would be your variable (of type GameObject) and referenceToAGameObject would be a reference to your game object, which you can get from a Transform or whatever.
I think it would go too far if I explained that in detail here, so I’d just advise you to have a look at the Learn section on the Unity website, which provides a lot of videos explaining the very basics of Unity scripting with C#.