How can to convert it on c#?

var score = 0;
var scoreText = “Score: 0”;
var mySkin : GUISkin;

function OnTriggerEnter( other : Collider ) {
    Debug.Log("OnTriggerEnter() was called");
    if (other.tag  == "Coin") {
        Debug.Log("Other object is a coin");
        score += 10;
        scoreText = "Score: " + score;
        Debug.Log("Score is now " + score);
        Destroy(other.gameObject);
      
    }
}
 
function OnGUI () {
    GUI.skin = mySkin;
    GUI.Label (Rect (10, 10, 500, 200), scoreText.ToString()); }

I tried to convert other.tag in c# but it doesn’t work

Here is the full conversion to C#.
Some quick conversion rules on your code:

  • all code from JS have to be encapsulated into a class; the file name must be accordingly with class name (ex: “Score.cs” for “class Score”);
  • Variable declaration become “type name = value” instead of “var name : type = value”;
  • “function” become “void” (not returning a type);
  • “Rect” become “new Rect”;

Other things are the same.

If you have trouble with other.tag == “Coin” the reason is not related with conversion. Be sure the tag (case sensitive) “Coin” exists and your “other” object have the tag “Coin” assigned.

Note Destroy(other.gameObject) is distroying object hitting the trigger. If you have a cube with “Is trigger” activated and Score.cs attached, and a FPS controller with “Coin” tag, then, when FPS hit the cube, score will updated but the FPS will be destroyed, not the cube.

Score.cs:

using UnityEngine;
using System.Collections;

public class Score : MonoBehaviour {
	
	
    int score = 0;
    string scoreText = "Score: 0";
    GUISkin mySkin;
	
	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
	
	}

    void OnTriggerEnter( Collider other) {
	    Debug.Log("OnTriggerEnter() was called");
	    if (other.tag == "Coin") {
			
		    Debug.Log("Other object is a coin");
		    score += 10;
		    scoreText = "Score: " + score;
		    Debug.Log("Score is now " + score);
		    Destroy(other.gameObject);
	     
	    }
    }
     
    void OnGUI () {
   		GUI.skin = mySkin;
    	GUI.Label (new Rect (10, 10, 500, 200), scoreText.ToString());
	}

}