title: Unity C# Class and Objects
body: <p>Alight, I apologize that this will be a rather dumb question, but I am trying to gain a full understanding of the purpose and use of objects. Specifically I am working in Unity, but I am not sure that this matters. Also, I should also mention that the language is rather overwhelming. But here is the simple example that I am working on.</p>
  
  <pre><code>public class Player : MonoBehaviour 
  {
      private string name = "Players Name";
  
      private void Start () {
          var nexus = new Player();
      }
  
      public static void Using() {
          // how are these different?
          Attack();
          this.Attack();
      }
  
      public static void Move() {
          print ("The player is moving"); 
      }
  
      private void Attack () {
          print ("The player is attacking"); 
      }
  }
  
  public class UsingStuff : MonoBehaviour 
  {
      private void Start () {
          Player.Move();
      }
  }
  </code></pre>
  
  <p>So here are the questions:</p>
  
  <ol>
  <li>What is the difference between calling a function Attack() versus this.Attack? From a novice perspective, they would seem to do exactly the same thing. However, I am assuming that my example is just too simplistic.</li>
  <li>I created the object of the Player class with the random name nexus. However, when I call a function from a different class I seem to use the class name rather than this variable name. So what is the purpose of creating a variable name?</li>
  </ol>
  
  <p>I will leave it at those two for now, as hopefully that will help with some confusion for some other things.
  Thank you for your help.</p>