OnGui working with javascript but not with C#

Hi, I am new and learning with tutorials.
If I us a script like this:

using UnityEngine;
using System.Collections;
public class example : MonoBehaviour {
    void OnGUI() {
       if (GUI.Button(new Rect(10, 10, 150, 100), "I am a button"))
          print("You clicked the button!");

it wont show anything when I run the game. But if use javascript writing the exact same script it will work.

function OnGUI() {
   if (GUI.Button (Rect(10,10,150,100), "I am button"))
       print ("You clicked the button!");


Happens the same with any other any other OnGUI function I tried.

Whats wrong with the C# scripts?

Nothing is wrong…the code runs as expected with no issues, in both cases. Maybe you didn’t name your C# script to match the class name.


I copy and pasted the code precisely and it ran as expected without error.

First thing to do is check the console for any errors, as Eric suggested, as you may have a naming issue.
If the game is running fine without that error, though, make sure you attached the script to an object in the scene, yeah? I’m sure it must sound silly to make that suggestion, but in tiredness, I have overlooked the obvious all too many times, myself =P

Let us know how you go.