Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.

Official Update on the Visual Studio Code package

Discussion in 'Code Editors & IDEs' started by Frederic_Peltier, Jun 30, 2022.

  1. Frederic_Peltier

    Frederic_Peltier

    Unity Technologies

    Joined:
    Dec 22, 2015
    Posts:
    1
    Hi everyone,

    We want to update you on the state of the Visual Studio Code for Unity package.
    This plugin was a result of one of our hackweek experiments by a few of our former employees. Unfortunately, it’s never been fully functional and hasn’t received any updates for almost two years, bringing you an unstable coding experience. We want to be open with you about its state so that you know what to expect.

    The scripting team has huge projects in the works with a significant impact for a majority of our users (like modernization of .NET and iteration time) and we believe that being clear on what’s on the to-do list and what isn’t will help us focus on them.

    That’s why we’ll be removing the Visual Studio Code for Unity package from the list of packages that will be enabled for new projects by default.

    If you’re using VSCode, and you’ve experienced quality issues, we recommend that you switch to using an IDE that Microsoft is helping us provide support for, such as from Visual Studio Community. There are also multiple other alternatives, such as JetBrains Rider.

    Please notice that we’re not preventing anyone from using VS Code in their projects if they prefer it, the existing plugin will continue to work. Also the plugin is available under the very permissive MIT license that allows to fork the project and create derivative works, so an open source alternative could emerge from the community.

    We will post updates here as we progress with the plan to officially end support for the Visual Studio Code plugin.
     
    Flipbookee, Novack, ysftulek and 10 others like this.
  2. jiraphatK

    jiraphatK

    Joined:
    Sep 29, 2018
    Posts:
    193
    Thanks for being transparent. It's fine by me. VS community and Raider(especially) is clearly superior IDE for Unity anyway.
     
  3. qumeta

    qumeta

    Joined:
    Jun 10, 2020
    Posts:
    2
    good & bad
     
  4. ujz

    ujz

    Joined:
    Feb 17, 2020
    Posts:
    24
    Been trying to migrate from VS Code for past month. It's going OK but I cannot find a good replacement for Code's deeper referencing functionality. This exists in VS Community (CodeLens), but it only shows references for types and functions. I've also tried Rider's "Usages" but it's clunkier, at least to me.

    I made a quick example below. You can see Code has deeper referencing (my arrows on the left):
    refcomparison.png

    I guess Rider is the next best thing after Code? :(
     
  5. jiraphatK

    jiraphatK

    Joined:
    Sep 29, 2018
    Posts:
    193
    Erm, VSCode had never been good for Unity. From my own experience, I had problems with it constantly; code completion not triggering, code highlighting randomly not working, can't go into definition of method, can't decompile source from another solution etc.
    I tried using Rider and it's night & day difference. I've never looked back. Everything just 'works' and it also teaches me some nice c# patterns too.

    For your use case. There is no reference count that will be shown above variable in Rider that I know of. But I just press ctr+b to find all usages. Having the ref count shown automatically is nice but it's not good enough to regard VSCode as 'best' IDE for Unity.
     
    Ryiah likes this.
  6. christopheAS

    christopheAS

    Joined:
    Jun 25, 2019
    Posts:
    14
    We have been using VSCode for the past 5 years without any issue. Our whole workflow is mostly based on it. We have even developed extensions for helping us. So I admit I'm not pleased with this decision. Clearly.
    But I suppose we are in a very small bubble and cannot expect support of another IDE for a small audience.

    VSCode is a wonderful tool that helps us work with the same environment on all of our working stations (Windows + macOS) on all of ours projects, either with Nodejs, TypeScript, PHP or C#. And it is so lightweight. I am not looking forward using Rider or Visual Studio for Mac.
     
  7. Adrian

    Adrian

    Joined:
    Apr 5, 2008
    Posts:
    866
    I'm also a happy user of VSCode with Unity. It's not very easy to set up and get started (I guess this thread explains why) but once it's running, it's working very well. I tried to switch to Rider, VS for Mac and am using VS on Windows occasionally but always stuck with VSCode.

    @jiraphatK Go to definition / implementations / references has worked well for me and I prefer the implementation over Rider and VS on Windows. For decompiling, you used to have to enable it in
    omnisharp.json
    but you should now get a prompt to enable it directly in VSCode.
     
    GalaxyShard and RogDolos like this.
  8. radiatoryang

    radiatoryang

    Joined:
    Jul 7, 2014
    Posts:
    17
    I finally found this thread after seeing a random mention that VS Code support was getting deprecated https://github.com/Unity-Technologies/vscode-unity-debug/issues/206#issuecomment-1141289744

    I guess I'm slightly comforted that the plan is "let it rot" instead of "delete everything in 2 weeks"

    But I have to say, so far this announcement has been handled very poorly. And the dismissive tone in the GitHub issues ("just use Rider") really doesn't address your community's concerns. A lot of us use VS Code, and we may prefer it to VS or Rider for a variety of reasons.

    If the communication on GitHub had been more like this post -- "we won't prevent anyone from using VS Code" -- it would feel less thoughtless of a decision than it does.

    I strongly recommend updating the GitHub readmes and issues to point to this thread
     
    Last edited: Jul 14, 2022
  9. NoTuxNoBux

    NoTuxNoBux

    Joined:
    Oct 2, 2020
    Posts:
    27
  10. rod_lopez

    rod_lopez

    Joined:
    Aug 10, 2017
    Posts:
    11
    I am really, really sorry to hear about this. I think it is a terrible decision.
    Visual Studio Code has become the de facto editor for most devs I work with. Not only it is free, and not only it delivers, but it also, as @christopheAS mentions, has become the platform over which we develop other tools.
    You are making, for cross-plaform development, a poor case for Unity, where now we need to get a license for a tool I like less that also makes Unity less of a good value (now we need to fork for a Unity license and a Rider license).
    Yes, there are free editors, but we work multi-platform and, as said, have invested quite a bit on VSCode.
    I do understand maintaining these things is not easy, and I get that e.g. Rider does a lot of other things, but it feels like Unity is in a position where you should be able to put a couple of people to make the VSCode integration kick mayor ass.
    I have installed Rider and, a week later, have gone back to VSCode (along with most other people in the office) I will ride Unity's VSCode tools until they completely break down. I would hope, very much, that you'll rethink deprecating VSCode support by then.
     
  11. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    12,390
    I'm very unhappy about it.

    Visual Studio Community has an infuriating bug in a smart formatter that hasn't been fixed in ages, and is driving me completely nuts, it is bloated, plus it looks ugly as sin.

    I've been using VS Code for years and it has been an incredibly comfortable experience. It is highly likely to become an de fact editor that is present everywhere, and dropping its support is definitely not a good idea.
     
    stonstad, GCatz, Noisecrime and 4 others like this.
  12. marcospgp

    marcospgp

    Joined:
    Jun 11, 2018
    Posts:
    153
    As a big fan of VSCode I am sad to come across this thread.

    According to Stack Overflow's 2022 developer survey, VSCode is the #1 ranking IDE, used by 74.48% of respondents.

    It does not make sense for Unity to deprecate support of the most popular editor, assuming that Unity makes rational decisions. Sadly, the community seems to have been growing a feeling that Unity's decisions can be quite enigmatic.

    I understand that Unity does not want to prioritize supporting VSCode over other goals. Firstly, I am curious if you guys have at least estimated the effort required to value returned for each of those goals - supporting the most popular editor seems at first thought to be a good decision.

    Secondly, you mention Microsoft is helping you support other IDEs. Have you tried to engage in the same kind of collaboration when it comes to VSCode? If not, why?
     
    Last edited: Sep 16, 2022
  13. hecker_de

    hecker_de

    Joined:
    Mar 28, 2021
    Posts:
    18
    I'm waiting for Unity to pay for my Rider license. Until then I will have to keep using VS-Code. And before you suggest Visual Studio... There IS NO VS for Linux.
     
  14. Simutronics

    Simutronics

    Joined:
    Mar 27, 2015
    Posts:
    1
    @Frederic_Peltier I strongly encourage you guys to reconsider. This is the reality:



    Please change course and support what the majority of people actually use, including our entire studio.
     
  15. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,025
    "Hey I have a random graph with no source! Your company should change course".

    I'm pretty sure that the number of people using eg. PyCharm in Unity is probably closer to 0 that 17.24 %, lol.
     
    cdr9042, Antypodish and Luxxuor like this.
  16. marcospgp

    marcospgp

    Joined:
    Jun 11, 2018
    Posts:
    153
    It's the Stack Overflow survey I linked to above. I think it's a good source!
     
    stonstad and rod_lopez like this.
  17. llim_unity

    llim_unity

    Joined:
    Feb 13, 2020
    Posts:
    11
    Oh, so sad. I too have been using VSCode as my de facto coding tool. And I have Rider license installed. I am not saying Rider is bad, in fact I love it and use it from time to time. It also has far stronger meta features - e.g. quality of life git features - for me.

    But I have not found a replacement anywhere for "Peek" in VSCode, which has been a crucial development-flow tool for me since I started using it years ago. Rider has a similar feature, but I find VSCode's implementation much more elegant.

    I guess I will need to invest more time into using Rider now.

    It was fun while it lasted.
     
  18. josephan2

    josephan2

    Joined:
    Mar 14, 2020
    Posts:
    7
    Also sad to hear this and encourage Unity to reconsider.

    VSCode strongly aligns with Unity's mission, "We believe the world is a better place with more creators in it".
    VSCode helps lower the barrier for beginners. It's is open source, has a vibrant community (lot's of great plugins), and a great UI/UX.

    Although if data shows that only a small # of users are using VSCode, I can't argue with that.
     
    Last edited: Jan 4, 2023
  19. TCROC

    TCROC

    Joined:
    Aug 15, 2015
    Posts:
    149
    We also use VS Code. I'm hoping Unity reconsiders deprecating this tool.
     
  20. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,121
    This graph is useless in light of this discussion.

    It does not presents, for what language is each tool used.
    It will contain huge amount of hobbyists-level input into the survey.
    It doesn't show which coding environment is used with Unity specifically.
    Having that, we could see graph's results completely different.

    On other hand, Unity has capability to measure, which tools are used mostly with Unity environment.
    If they have observed that relatively few professionals use code editor which brings little to no money for Unity, vs IDE which has more value to the Unity, it makes sense on their choices.

    Also splitting resources over supporting multiple tools, it is not really feasible.
    Just like Unity had multiple languages support in the past, dropping down to one.

    Since VS Code text editor has open source plugins, let community to handle it.
    It is anyway, what community apparently wanted with Unity plugins, to have source access to be able contributing.
     
    cdr9042 likes this.
  21. ExtraCat

    ExtraCat

    Joined:
    Aug 30, 2019
    Posts:
    50
    Oh yes, forcing people to choose between super bloated Visual Studio where even cursor lags all the time on modern gaming PC, and lifetime JetBrains subscription. A good business move for sure, just not for us end users.
     
    Last edited: Jan 8, 2023
    beamteam and goncalo-vasconcelos like this.
  22. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,121
    No one is forcing anyone.
    You have open source and MIT tools available. You can use them and maintain as you wish.

    The support just shifts from official to unofficial, thats it.

    It is the same like asking, why your game doesn't support xyz languages. Think from the business perspective.

    It is noce to have, but it is not like a deal breaker.
     
    cdr9042 likes this.
  23. Adrian

    Adrian

    Joined:
    Apr 5, 2008
    Posts:
    866
    It's not like Unity is investing resources into the VS/Rider integrations. If you check the VS package, most files only have a Microsoft copyright notice, some have a shared MS/Unity one. The Rider package doesn't have copyright notices per file but only a shared JetBrains/Unity copyright in the license file – I still suspect JetBrains is developing the majority of the integration. The Code integration has only Unity's copyright.

    My suspicion is that Unity has made the decision to have others pay for editor integrations. Microsoft is willing to do this for the paid VS but not for the free Code and now Unity is trying to drop Code. Wether that's just a threat to get MS to change their mind or wether they'll actually drop it we'll have to see.
     
    ExtraCat likes this.
  24. andyz

    andyz

    Joined:
    Jan 5, 2010
    Posts:
    1,995
    This is a little surprising but if not VS Code then VS Community is good if a little 'heavy' (I use). But I wonder is there data on what IDEs people use for Unity, % split?
    Is Visual Studio, paid or community, the majority and then Rider, before VS Code etc?!
     
  25. ExtraCat

    ExtraCat

    Joined:
    Aug 30, 2019
    Posts:
    50
    Guess the same can be said about Gigaya, eh?
     
  26. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,121
    Thats only true, if Gigaya source code is released to the public.
     
  27. AtlasAllure

    AtlasAllure

    Joined:
    Jan 28, 2023
    Posts:
    1
    It actually doesnt matter.
    You guys talk like you dependent on this extension for vs code to work.
    The grand majority is going to continue vs code like nothing ever changed and even more are going to switch to it over time, since VS is just completely overbloated 90s style for anyone to care.
    And maybe one day their stance will change if some companies pushing for it, once more VS holdovers switch to vs code as well.
    But yeah the question is: What functionality did it serve even before?
    You just open the folder with vs code. Anything else is just general csharp config.
     
  28. Adrian

    Adrian

    Joined:
    Apr 5, 2008
    Posts:
    866
    No you don't. Starting from Unity 2019.2, it is the VSCode extension that's generating those sln/csharp project files. If you remove the extension and project files and try to open the project folder in VSCode, you'll only get basic editing, no IntelliSense (as there won't be any sln/csproj).

    Maybe with Unity's switch to using .Net project files directly in a few years, it will be possible to just open the project folder in VSCode. But for now, we're dependent on the editor packages to generate the necessary and compatible project files for each editor. Just the fact that Unity went this way, from one shared project generator to three separate generators, one for each supported editor, shows that there's currently not one single project format that would work well in all three editors.

    There's also the Debugger for Unity extension that has been deprecated. It still works for me but might break in the future and then debugging Unity in VSCode will be either impossible or much more cumbersome.
     
    rod_lopez likes this.
  29. stonstad

    stonstad

    Joined:
    Jan 19, 2018
    Posts:
    440
    Unity @Frederic_Peltier please update documentation to prevent users from embarking on a dead-end misadventure converting a project to VS Code. The decision to deprecate VS Code happened six months prior and these docs still list VS Code as an option for debugging.

    Link: https://docs.unity3d.com/2023.1/Documentation/Manual/ManagedCodeDebugging.html (2023.1:)
    "Unity supports the following code editors to debug C# code:" ... "Visual Studio Code (Experimental)"

    Please remove Visual Studio Code from the list because a) it is clearly unsupported and b) does not facilitate debugging, especially with Unity 2023.1. Or hire more devs and add support.