Search Unity

Official Unite Now Q&A - Tips and Tricks to Develop in Unity with Visual Studio 2019

Discussion in 'General Discussion' started by AskCarol, May 8, 2020.

  1. AskCarol

    AskCarol

    Joined:
    Nov 12, 2019
    Posts:
    234
    Unite Now Session
    Visual Studio 2019 offers world-class debugging for Unity games and is our recommended IDE. In this session, we teach you how to get the most out of it. We also demo how you can collaborate better with Live Shares and debug faster with Attach and Play.




    When
    Thu, May 21, 9:00 AM PT






    Where
    You can watch the session here!
    Make sure to sign up to get access to all Unite Now content.


    ______________________


    Together with this Unite Now session we are also hosting a Q&A here in this thread to answer as many of your questions as possible.


    A team of product experts from across Unity will be available starting after the session. Our Community team will continue to field questions to foster an ongoing discussion with the community. Please feel free to ask your questions in this thread.


    Some basic rules
    • Don’t bundle multiple unrelated questions in one reply. One question/topic per reply.


    • Only questions related to the topics of the session are permitted.


    • All questions will be fielded by our Community Managers (@LeonhardP and @AskCarol)
      • Replies will have to be approved by the moderators to show up in the thread.


      • Once approved, the questions will be forwarded to the relevant experts.

    We really look forward to hearing from the community.

    Thank you!
     
  2. KamilCSPS

    KamilCSPS

    Joined:
    May 21, 2020
    Posts:
    448
    Interesting quick dive.

    Question about GitHub integration. Because Github is notoriously slow in handling the large binary files that Unity projects use, do you have plans to update Git into a more robust game-oriented version control system? (Now that Git is owned by Microsoft).
     
    AskCarol likes this.
  3. KamilCSPS

    KamilCSPS

    Joined:
    May 21, 2020
    Posts:
    448
    What are the plans for VSCode? It appears that official Unity support has been dropped. Which is unfortunate as it forces those that relied on it to switch to the paying version of VS. Hard to see the drop of support as anything else than a move to force users to lose a free IDE.
     
    goncalo-vasconcelos and AskCarol like this.
  4. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,141
    What?

    The version of Visual Studio you get with Unity is already free to use and VSCode integration literally got an update yesterday.
     
    AskCarol likes this.
  5. ArturoNereu

    ArturoNereu

    Joined:
    Aug 23, 2012
    Posts:
    10
    I've asked Abdullah on the Microsoft side. Let's see what he says.
     
  6. abziaf

    abziaf

    Joined:
    Nov 14, 2012
    Posts:
    8
    Hello @KamilDA

    Visual Studio Community Edition 2019 and Visual Studio for Mac Community Edition 2019 are completely free to use. It has all the features available in the Enterprise and Professional Editions too.

    As for your questions about GitHub, I work with the Visual Studio team, but I will try to understand your pain points with GitHub and relay your feedback to them. I know they are very interested in making the experience better for game developers. Could you help us learn more about what you have in mind?

    1- Which specific Unity binary file types specifically cause slowdown for you with GitHub?
    2- How does a robust game-oriented version control system look like to you?
    3- What features would you like to see?
    4- How does work-flows you prefer looks like?
    5- If you had a magic wand, what would be the #1 pain point you want GitHub to solve?

    For a short term solution to make your experience with GitHub better, I use these recommendations here https://thoughtbot.com/blog/how-to-git-with-unity I hope that solves your issues in the short term, and we can address your issues in the long term by giving us more feedback by answering the above questions.

    I am interested in doing a video like this that focuses more on the GitHub experience and Unity and diving deep into use cases relevant to game developers. So, please let us know what you would like us to cover.
     
    KamilCSPS likes this.
  7. Livealot

    Livealot

    Joined:
    Sep 2, 2013
    Posts:
    228
    I'll jump on the Github bandwagon and encourage you think about how the default file size limits with Github don't fit with the average Unity project. I think those limits are something like 1GB for a repo and 100MB for a single file. So after you add a couple of FBX models to your Unity project you start hitting all sorts of issues with trying to make a commit.

    I think there are workarounds, like LFS, that would probably make an excellent tutorial on how to integrate Github with an actual Unity project. But ultimately, I think there is a business model conflict where you can't have >1GB of "big files" in a free repo, even though the repo can be bigger than 1GB.

    So advertising that Github is free for Unity is misleading.
     
    KamilCSPS likes this.
  8. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,141
    You probably shouldn't be pushing those assets to Github to begin with.
     
  9. KamilCSPS

    KamilCSPS

    Joined:
    May 21, 2020
    Posts:
    448
    @abziaf @Murgilod
    The license terms for VS community are quite clear, it is only free for individual developers, academia, and such other entities. It is not free for small studios (5+) or the public sector and other such entities. In before you say "just buy it", you might be surprised how this is not that simple.

    VSCode debugger for unity plugin, which is absolutely necessary, is no longer supported by Unity:
    https://marketplace.visualstudio.com/items?itemName=Unity.unity-debug
    https://github.com/Unity-Technologi...mmit/9843cafa271595d435de3a23042dfd050c9317e3

    VSCode is the only real free IDE here, not VS Community.
     
    goncalo-vasconcelos and abziaf like this.
  10. KamilCSPS

    KamilCSPS

    Joined:
    May 21, 2020
    Posts:
    448
    That's exactly his point and he's answering @abziaf.

    @Livealot touched quite a bit of the points I would had bought.

    More to it, I would invite you to look at different VCS such as PlasticSCM or Perforce (which I believe is what Unity is using internally themselves, at least last I heard).

    Especially with the fundamentally multi-disciplinary aspect of game-dev, some solution vendors such as PlasticSCM have artist-friendly IDE's with strong UX geared toward flexible workflows. The age of command-line VCS is long gone and I am quite happy about it. None of my artists will touch a VCS that requires them to memorize edge-case commands or depuzzle multi-branch merges / conflicts through a CLI.

    In short, I understand how Microsoft is trying to make VS more friendly with Unity devs, but the core of the question is about setting up an infrastructure that support Unity projects. That cannot be accomplished through VS-Github integration alone, Github itself is a barrier - both from a usability point of view for artists and from a back-end performance point-of-view.
     
    Last edited: May 23, 2020
    abziaf likes this.
  11. abziaf

    abziaf

    Joined:
    Nov 14, 2012
    Posts:
    8
    Those points are notes. The reason why I asked you those fundamental questions was to understand the core problems so that we can solve the problems instead of just copying a solution that might not really solve the problem. I really do appreciate your feedback and I am sure the GitHub team will find them useful.
     
  12. KamilCSPS

    KamilCSPS

    Joined:
    May 21, 2020
    Posts:
    448
    Every use-case is different but I can share some of my experience;

    1- Which specific Unity binary file types specifically cause slowdown for you with GitHub?
    - In some of our projects we had hundreds of .max, .psds with a total project size of 2.5GB. Not withstanding that we versioned our compiled builds as well, which themselves took multi-GB too. Many files, especially texture atlas maps were > 50MB. Before we reached the size limit, any pull request, any commit, any merge, would take dozens of minutes. It was impossible to use.
    - This (https://help.github.com/en/github/managing-large-files/conditions-for-large-files) section in a VCS documentation is a massive red-flag that it shouldn't be used for any game-dev project.​
    2- How does a robust game-oriented version control system look like to you?
    - One that can handle any VCS action for a multi-GB projects, even large GB files, within seconds or a few minutes max. ​
    3- What features would you like to see?
    - A non-CLI IDE front-end for GitHub with good UX that can be used by both programmers and artists a-like.
    - No performance penalty when handling multi-GB projects.​
    4- How does work-flows you prefer looks like?
    - Feature task-per branch. Including for artists. So that means multi-100MBs merges are frequent.​
    5- If you had a magic wand, what would be the #1 pain point you want GitHub to solve?
    - Good performance, even at the free-tier, for a small (1GB) Unity project without requiring any special workarounds. ​
     
    Livealot likes this.
  13. abziaf

    abziaf

    Joined:
    Nov 14, 2012
    Posts:
    8
    I am making sure the GitHub team is aware of this thread here.
     
    KamilCSPS likes this.
  14. bali33

    bali33

    Joined:
    Aug 14, 2011
    Posts:
    232
    Hello,

    Is there a way to rename a class name from VS code and having Unity updates correctly ? So far if I rename a class name from VS code it will only rename the class name, the file name will remains the same and Unity seems to not understand that a class has been renamed, so scripts attached on GOs will be mark as "missing script" or something like that. I also tried to rename the the class file from VS project view and then the class name but still, Unity won't understand what's happening and script are not correctly updated on GOs.

    Is that normal ? Is there a right way to do that ?
     
    goncalo-vasconcelos likes this.
  15. abziaf

    abziaf

    Joined:
    Nov 14, 2012
    Posts:
    8
    We recommend using Visual Studio 2019 or Visual Studio 2019 for Mac as those are the supported IDEs for Unity.
     
  16. bali33

    bali33

    Joined:
    Aug 14, 2011
    Posts:
    232
    Hello,

    I wrote the wrong IDE, I meant Visual Studio 2019 for Mac. Using it there is no way to rename a class name/file and having Unity understand what's happening. ie: script will be mark as "script missing".
     
  17. John_MSFT

    John_MSFT

    Microsoft Employee

    Joined:
    Feb 21, 2018
    Posts:
    118
    There was a bug in Visual Studio for Mac that's been fixed in version 8.6 (https://developercommunity.visualstudio.com/content/problem/1019179/renaming-files-1.html)

    If you still notice the issue after updating to 8.6, please report it via the Help > Report a Problem menu in Visual Studio for Mac.
     
  18. FrankMarlon

    FrankMarlon

    Joined:
    Jun 4, 2020
    Posts:
    6
    If you are low on system resources go for VS code. I personally prefer VS code, because of the tone of extensions and customisation features.