Unity is written in C++, with the following exceptions:
we expose a .NET api so that you don't have to go trough the pain of writing your game in c++, but you can write it in Javascript or c# or boo.
The editor application's UI is written in C#, using mostly the same API that we expose to game developers. (We have access to a few API's that we don't expose (yet), but not that many)
This is also the reason that the answer to the question "Can I use UnityEngine.dll in some other c# project" is always no. There is hardly any functionality in UnityEngine.dll, the only thing it does is relay your c#/javascript calls into the C++ part of Unity. Without the C++ part there is nothing.