Programming in C?

I am sure you can use C to make Unity apps, just because the developers have given us access to just about everything (I will check once I get back to my computer), but how much access do they give? I mean, can we do type casting and change the runtime headers with the Unity compiler?

C and C# are totally different languages. They have a slightly similar syntax (like most C-style languages) but other than that they have not much in common. Unity uses the Mono framework which is an open source version of Microsoft’s .Net-framework.

.Net / Mono uses an intermediate language called Common Intermediate Language(CIL) and doesn’t produce native machine code. CIL can be AOT or JIT compiled into native code by the executing framework.

What classes and functions are available depends on the platform you want to build for. See the Mono Compatibility Page for more details. There’s also a difference between Unity Free and Pro. You need Unity pro to use native code plugins on Standalone builds.

you can use dll compiled from c as native plugin.
but you cant do scripting with c.