C# es un lenguaje orientado a objetos.

Una clase funciona como una plantilla. Un objeto es una instancia creada a partir de esa clase.

Crear una clase

public class Arma
{
    public string nombre;
    public int daño;
}

Crear un objeto

Arma espada = new Arma();

espada.nombre = "Espada";
espada.daño = 25;

Ahora espada es un objeto de tipo Arma.


Métodos dentro de una clase

public class Arma
{
    public string nombre;
    public int daño;

    public void Atacar()
    {
        Debug.Log(nombre + " hace " + daño + " de daño");
    }
}

Uso:

espada.Atacar();

Constructor

El constructor se ejecuta al crear el objeto.

Tiene el mismo nombre que la clase.

public class Arma
{
    public string nombre;
    public int daño;

    public Arma(string nombre, int daño)
    {
        this.nombre = nombre;
        this.daño = daño;
    }
}

Crear:

Arma espada = new Arma("Espada", 25);