Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice

Question Will .Net CoreCLR allow for easier interop with LSP's especially on Linux systems?

Discussion in 'Scripting' started by VolksUnity, Apr 2, 2024.

  1. VolksUnity


    Mar 17, 2015
    Hello everyone, I am a software engineer who loves making games, but my biggest hurdle has been the abysmal experience of Unity on Linux systems combined with abysmal experience with Neovim IDE. The editor lags but I can get around that, but my preferred editor is just unusable because no LSP will work.

    I do not write C# on my job and I am as you can imagine not well versed in the .Net ecosystem but I am very excited for the Unity 6 release and would love to get back into it. I've since been using Godot since their C# implementation just works out of the box with Neovim with little tinkering and all of the features I'd expect from an LSP work. Would this new migration from their homemade Mono to CoreCLR have any impact on this experience? Would it improve it? Have no effect?
  2. Bunny83


    Oct 18, 2010
    It would help when you avoid fancy abbreviations and at least once be clear what it actually refers to. LSP could mean many things and most programmers would probably think of the Liskov substitution principle (as it's the L in SOLID).

    However I guess you talk about the Language Server Protocol... Personally I can't really help you here since I don't use NeoVim or Vim as I don't like the editor and I'm mainly coding on windows anways.

    Though this sounds more like an IDE / setup issue and doesn't really seem directly related to Unity. What issues do you actually have with Unity's Mono version? The C# is still just ordinary C#.
    Ryiah and Spy-Master like this.
  3. Spy-Master


    Aug 4, 2022
    C# is C#. The target framework / assemblies in use make the real difference, not the runtime they ultimately end up running on. User code is by default C# 9 targeting .NET Standard 2.1 or .NET Framework 4.8 + .NET Standard 2.1 features, with references to assemblies shipped by the editor, so it shouldn’t stress out anything that can deal with that.

    Are the csproj files for assemblies being generated? As far as I know, those only come from editor packages like com.unity.ide.visualstudio and com.unity.ide.rider and when those specific editors are selected as the active script editor. If those are absent, then there’s not much something like omnisharp can do. If you haven’t already, perhaps try using one of those packages and use the regenerate project files action, then see if your code editor works.
    Ryiah, Bunny83 and VolksUnity like this.