Calling static functions from game objects

So, I have simple C# class to call basic game functions to populate the game.

using UnityEngine;
using System.Collections;

public class StaticGameFunctions : MonoBehaviour {
	public static void CreateTileBoardWithCurrentBoardData()
	{
		Debug.Log("ButtonClick!!! Create Tile Board");
	}
}

I can call this function via:

StaticGameFunctions.CreateTileBoardWithCurrentBoardData();

from other monoBehaviour objects.

However, I have a previously written javascript that gets dropped on a clickable onscreen button that I want to use to trigger the function.

function OnMouseUp () {
	if(buttonActive){
		guiTexture.texture = hoverLitTex;
		StaticGameFunctions.CreateTileBoardWithCurrentBoardData();
	}else{
		guiTexture.texture = hoverDimTex;
	}
}

And in this case, I am getting an error: BCE0005:Unknown identifier: ‘StaticGameFunctions’. I’ve tried “import” on various things, moving the scripts around in the folders, but I can’t get the mouse button code to recognize the StaticGameFunctions class (while others can). Is there something I’m missing, aside from the potential c#/Javascript difference?

The different languages Unity supports are compiled seperately into DLL assemblies. You can only use things from an assembly that is already compiled. Unity have basically two assemblies for each language. The first one can’t access any other language’s classes. The second one can access all classes from the first assembly-group. See the documentation on compilation order.

editor classes are also seperated.