Just what the title says: can anyone suggest an IDE for writing scripts on Linux? MonoDevelop is defunct and requires jumping through hoops to install; I’d rather not sell my soul to Microsoft. What does that leave?
There’s Rider but it’s not free: Rider: The Cross-Platform .NET IDE from JetBrains
So you use Unity which relies on C#, a Microsoft created language. The .Net Framework, a Microsoft created framework. And Microsoft is in pretty close collaboration with Unity (hence why back in the day when you installed Unity it came with Monodevelop, but now a days it comes with Visual Studio).
So couldn’t it be said you’ve already sold your soul to Microsoft?
I mean… what does that even mean? Microsoft doesn’t require your soul to use C#, .Net, or Visual Code. Heck, it doesn’t even require money (unlike Rider).
Heck… if you’re concerned about the ‘licensing’ of Visual Code since you’re a linux user and you probably prefer more permissive licenses.
Visual Code is open-source and under the MIT license:
https://github.com/microsoft/vscode
Microsoft has been moving several things over to open source/MIT license. .Net Core (the cross-platform .net framework) is also under MIT license:
https://github.com/dotnet/core
And honestly, the MIT license is pretty damn permissive. Moreso than GPL. It basically is “you’re free to use this however you want, I’m not liable for how you use it”. Unlike GPL which is “you’re free to use this, but if you do, anything you use it in must also take on GPL as its license”, or what I like to call “viral licensing”… it uses other software to spread itself.
I don’t know… I just find it weird when people still talk about Microsoft stealing their souls yet Google, Apple, Facebook, Amazon, etc still float about the place mostly unscathed by embedded vitrial within the linux community.
Or is it still the late 90’s and you prefer Netscape?
@lordofduct you have a point… though I’m fairly sure MS grabbed MonoDevelop for the sole purpose of halting its development and using the code in VS for Mac. Which is a shame, since MD never required me to download “workloads” that contain who-knows-what besides coding tools. It and Unity made a neat little package back in the day.
Microsoft didn’t “grab” MonoDevelop.
Microsoft acquired Xamarin, the company behind mono and monodevelop, the sort of open source implementation of .net that has been in existence for years. The company has always had close relations with Microsoft since MS always had allowed them to develop Mono without any legal intervention even though they had the right to if they wanted. During that time MS did hold on to their legal rights (never explicitly giving rights out to .net) because well… yeah, it’s their code, and they weren’t sure how they’d approach the whole ordeal in the future. Many would maintain that right.
When Microsoft decided to take .Net open source via .Net Core, that’s when they acquired Xamarin since well… Xamarin has a lot of experience with that. They took the Xamarin tools (some of which were not free… see why Unity was stock on a very outdated version of mono because of a licensing issue between Unity and Xamarin… but now since Microsoft acquired them and Unity developed IL2CPP that is no longer an issue). Microsoft then integrated many of the Xamarin tools into things like Visual Studio.
As for Visual Studio for Mac… all that is, is MonoDevelop with a rebranded skin. It’s not them using the code in… it IS VS for Mac. The name changed is all… which makes sense. Microsoft acquired Xamarin, so now MonoDevelop is a Microsoft tool maintained by Xamarin a subsidiary of Microsoft. So a rebranding was done to reflect that change. It’d be really weird if MS acquired Xamarin “solely” to “hault” development on it just to than use it in “VS for mac”. As opposed to acquiring it as part of its roll out of .Net Core and a set of open source tools to help push C# into the future. I mean… why would MS really care all that much about a cross-platforms IDEs presence on Mac?
But that’s all a Mac thing…
We’re talking about Linux right now. Which still has MonoDevelop, it appears to still be under development via the MonoDevelop project as far as I can tell. Its github has activity.
Now as for Unity for Linux and streamlined integration with MonoDevelop… well Unity douesn’t continue to support direct integration with MonoDevelop, they ended that a few years ago. This isn’t the fault of MonoDevelop, nor really Microsoft… that’s a Unity decision. As for within the Linux version… well, Unity for Linux is still a young product that Unity just started releasing very recently and I believe is still considered ‘beta’ if I recall correctly. So it not supporting MonoDevelop directly out of the box is not surprising since it’s not directly supported in Windows either, and on Mac they’re supporting the new rebranded ‘Visual Studio for Mac’.
You can still get it to work… it’s just Unity hasn’t streamlined that process for you. Which again… is Unity’s doing. Unity chose to deprecate active support for MonoDevelop in Unity.
As for “workloads”, I honestly have no idea to what you’re referring. I know that in Visual Studio on windows a “workload” can refer to the toolkit that enables Visual Studio to use a specific language (it contains the compiler, various templates, etc for that language)… but you’re on Linux. Visual Studio doesn’t exist there, Visual Studio Code does… but I don’t know if VSCode has something called “workloads”.
But I’m willing to bet it someone knows what’s in them… since Visual Studio Code, Visual Studio for Mac, .Net Core, etc are all open source.
Funny enough… Unity isn’t open source. Which means it can come with a lot of “who-knows-what” in it and you have no idea.
…
With all that said.
On linux, you’re going to have to get Unity setup with an IDE of your own accord (in usual linux fashion where you have freedom of choice, but you have to do a lot more heavy lifting). You can integrate with MonoDevelop (free), Visual Studio Code (free), Rider (not free), or any other editor you prefer (heck you could use gedit for all Unity really cares).
A’right, you got me! I just prefer MonoDevelop to Visual Studio. It’s smaller, its interface looks better and it’s what I used when I started developing in Unity. As for Unity being open source… if only! Maybe not the “latest and greatest”, but I’d love it if they put 4.x and 5.x up on GitHub.
You can also try Script Inspector 3 from the Asset Store. It works directly into Unity Editor. Not sure how well it works under Linux but you could give it a try. Or read some reviews. Or ask in the forum topic. Just as an additional option incase you don’t know it yet.
Besides, anyone who doesn’t use VI or EMACS is a millenial sissy.
Well you can’t use Visual Studio anyways, you’re in linux.
Visual Studio Code on the other hand is available and is a much lighter weight IDE than Visual Studio. It shouldn’t be that large.
But as said, MonoDevelop is still a thing. You can use it. Unity just doesn’t hand hold you through the installation of it anymore. If you’re on linux though, just install it, and then point your preferred IDE setting to it in Unity preferences.
Thanks, guys. I realized last night that installing MD means installing another Microsoft product, which gave me pause.
@csofranz guess I’m a sissy then. I didn’t “grow up with” VI or Emacs, and they seem like they’d take awhile to learn-time that could be spent making games.
@exiguous that looks great; hope Unity makes it part of the editor, or maybe a package, someday.
Note, csofranz was cracking a joke. It’s why I liked their post. It’s the goto linux stereotype that if you ask for a good text/code editor the “hard-core” linux users flex by saying you’re a sissy if you don’t use emacs or vi, and of course the emacs and vi communities have a long feud with one another about which is better.