.NET SDK or the Mono SDK

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By munja95

Hi,

I have been following godot since godot 2 was released. It is awesome engine. All the time, I have been using gdscript, but I want to use c# for the change.

I don’t know what to use, mono sdk or .net sdk :confused:

I searched the internet many times regarding these two sdks, but there aren’t many questions regarding this for godot engine.

Could someone explain to me what is the main difference between mono sdk and .net sdk?
I know that mono sdk is opensoruce code bla bla, and .net sdk is closed source code and it was created by microsoft, I know that.
But what about performance?
Are there any performance impacts using mono sdk instead of .net sdk?
What are the pros and cons of both these sdks?

:bust_in_silhouette: Reply From: juppi

Hey munja95,

the short answer:
Use .NET 6

The long answer:
Godot 3 internally uses Mono with C# 7.3. The IDE will jell at you, if you use newer C# features. So the .NET Framework is only for developing.
Exported projects use their own Mono runtime. So the end user doesn’t need .NET or Mono preinstalled on his machine.

Godot 4 will completely replace Mono with .NET, because Microsoft will discontinue Mono.

Mono was developed in the early 2000s by a company named Xamarin, as runtime for Linux and other operating systems. Nowadays Microsoft just doesn’t support Windows only anymore, so the need of Mono is gone.

Do you know when godot will come with its own mono runtime? next year maybe?

munja95 | 2022-10-05 16:00

I updated my answer to be more clear.
“Exported projects use their own Mono runtime. So the end user doesn’t need .NET or Mono preinstalled on his machine.”

You as developer will still need a .NET SDK to develop.

juppi | 2022-10-05 18:22

I get it now, thanks!

munja95 | 2022-10-06 17:08