Why did Unity chose mono over JVM as the runtime?

I am very new to unity but one of the questions I had when I learned that unity uses mono (CLR) as runtime is why the creators chose this runtime over JVM.

Any technical reasons?

I have never seen any technical reason. The difference is obviously either Java or C# as a language.

Personally I think C# is a good balance, as it provides an object-oriented language in a VM the same as Java, while also providing similar syntax to C/C++ programmers. Which makes it a pretty good middle ground. You combine that with the JavaScript syntax, and Boo using the Python syntax, and you cover a lot of bases.

This allows a lot of people to step in and get using the toolset quickly.

Other than that? I can’t see any technical reason why they couldn’t use Java. Though they would have to struggle with the idea of encapsulating a JRE. I’m not sure if licensing allows you to distribute a modified JRE with your executable, or if you’d have to install a full JRE on the users machine, etc. Mono they can pack up and distribute with the binary as a small component, offsetting the need for large additional libraries like a JRE or the XNA Framework. Plus you have to consider mobile when thinking of libraries like that.

Just my thoughts, I’ve never seen anything official.