Visual Studio 2013 Tools for Unity

Microsoft Free

Write and debug your Unity 3D games inside Microsoft Visual Studio.

(80) Review
Visual Studio
Download (217,376)
E-mail Twitter Digg Facebook
Add to favorites
Reviews (80)
Q and A (165)
Sign in to write a review
Sort by:

by Lordinaire | July 29 2015

Great tools !

by SDAS_Hodgson | July 20 2015

Great tool.

It's saved me lots of time, and love the price.

by DG Osborne | July 18 2015

Thanks for this! Having Visual Studio for Unity development is a must.

by XenStalker | June 12 2015

by formulahendry | April 23 2015

by Protostar Dean | April 21 2015

Great Tool!
However since getting this latest update Unity seems to be crashing very frequently when I am attached.

by 金奇 | April 18 2015

very good

by Bakinovski | April 16 2015

While I am debuging I can't see exceptions in debuger.
For example in such source code I can't see object exception at line with Debug.Log
throw new Exception("test exeption");
catch (Exception exception)
UnityEngine.Debug.Log("Test exeption was thrown!");
Do you have the same issue? If it is bug do you plan to fix it?

P.S. Tool is realy grate - thanks for it.

Sebastien Lebreton April 20 2015
| Edit |


Yes, at this time, the exception object is not properly added to the debugging context so that you will not be able to inspect it using Watch window.

We will add support for that in the final release of VSTU 2.0.


by Kuato4 | April 13 2015

by QuYong | April 11 2015

very useful tools for Unity game developing, forget about the MonoDevelop

by KingRecycle | April 11 2015

New version doesn't work for 32-bit so I can't use it anymore. Please fix this.

But other than that it's better than using anything else in my opinion.

Sebastien Lebreton April 11 2015
| Edit |


We have just re-uploaded a new installer with proper x86 support.
Can you please download the file again and try to install it ?

Sebastien Lebreton [MSFT]

by CodePiao | April 07 2015

Very Cool .

Use VS 2013, coding for Game。

by AByrd | April 06 2015

A few issues with

Output is now spamming "The thread 0x<stuff> has exited with code 0" at a rate of about 2 per second.

The Error List now flickers open and closed frequently.

Sebastien Lebreton April 09 2015
| Edit |


When debugging, we've always notified what's happening in the output window, including thread creation and death.

You can configure VSTU to not send the Unity console to VS this will avoid the flicker you're seeing. You can do it from Unity, in the menu Visual Studio Tools -> Configuration and uncheck Send Console to Visual Studio.

by nu Assets | March 30 2015

Although the system has some minor bugs, it's probably one of the mightiest add-on you can get for Unity 3D. The integration is 99.9% seamless and its usability is pretty nice. If you're used to work with VS - you probably are as a professional - there's no way around it!

Well done!

by CoRuMmo | March 10 2015

Cannot come back to mono develop. I can't simply stand its interface anymore.
Long life Visual Studio tools for Unity!
Many thanks for this must-have tool.

by AdamNash_FM | March 03 2015

by Yatajga | February 20 2015

by Chad Keating | February 19 2015

by Mosy.Galaar | February 17 2015

I absolutely love this extension. It is a must for any Unity Project that
you are using Visual Studio to code.

My only real complaints are that it is not working properly with Unity
for Console game development, and that every time I get a new version of
Unity I have to reinstall it. The first should be fixed, the other is a
problem with Unity and not solvable by the dev team.

by chall3ng3r | February 06 2015

I started off my Unity development with 4.2 with MonoDevelop on Windows, it was okay. But I missed the awesomeness of Visual Studio. I tried this toolkit before MS bought them, it wasn't quite polished, but after MS bought it, its been really great.

I really like intelli-sense and refactoring and debugging features UTVS provides. Anyone starting with Unity on Windows, I would highly recommend to use this toolkit, it makes things a lot easier and fun.

There's one suggestion:
Please publish the UTVS extension on Unity's Assets Store, rather than copying it in Unity's install folder. When I update Unity, it removes the extension as well, so I have to manually copy it in Unity folder.

When UTVS is installed via Assets Store, it will be kept in Windows user profile, separate from Unity install folder, and also I can update it from within Unity.

Sebastien Lebreton February 11 2015
| Edit |

Thanks, yes we are thinking of something more streamlined for our package. Stay tuned !

1 - 20 of 80 Items   
Sign in to start a discussion

  • It occurre 2 bugs
    2 Posts | Last post Thu 2:25 PM
    • 1: Application.RegisterLogCallback will lost callback.
      2:the projects to UnityVS.client.sln will be removed at random time.
    • Hello,
      1) We were using Application.RegisterLogCallback previously (which can cause your own callback to be bypassed), we are now using Application.logMessageReceived if available. Be sure to update Unity and VSTU to the latest versions.
      2) If you are using external projects, please have a look at
      Sebastien Lebreton [MSFT]
  • Hit and Miss compile and no Debug.Log
    2 Posts | Last post Thu 2:11 PM
    • Hi There,
      I'm not sure if the extension is giving me issues or if I have not got it configured quite right and I can't find anywhere else to ask so hopefully here is okay.
      1) Should I expect to be able to just hit the "Attach to unity and play" button and expect it to attach and run every time?  Seems if I have altered the code I need to click the unity window first to prompt compilation to have any chance of the connect.  Even then it sometimes connects and sometimes does not.  IF I could just hit and run then development would be a real breeze.
      2) However I connect and whatever I do I cannot seem to get the Debug.log messages into the error list.  I've checked everywhere on the internet on this and ticked all boxes etc. but nothing appears. 
      Don't let my questions fool you I'm really enjoying using Unity and the 2015 community edition together :-)  It's a great tool.
    • Hello,
      1) & 2) This should be solved with the upcoming Unity 5.2, previously a bug on their side prevented us to correctly respond to VS requests while being in the background.
      Sebastien Lebreton [MSFT]
  • Debug don't work anymore
    8 Posts | Last post Mon 9:20 AM
    • Hello
      When i lanch debug i have the Select Unity Instance windows with no choice so i can't debug :/
      I have the same with VS2013 and VS2015.
      I was working before I haven't do any change in configutation.
    • Hello,
      You can check the following:
      - Are you using different sessions for running Unity and Visual Studio (like Unity with your current session and Visual Studio as Admonistrator) ?
      - Can you try to temporarily disable antivirus software and/or firewall to see if something interfere with our process detection ?
      Sebastien Lebreton [MSFT]
    • Following up on this,
      Can you send us a mail at vstusp[at]microsoft[dot]com ?
      So that we can give you a special build with extra logs to identify the issue.
      Sebastien Lebreton [MSFT]
    • Hi to the both of you,
      Same thing happened to me yesterday. I think some of the latest windows updates on Win8.1 messed things up. Perhaps vinnikid's pc updated like mine?
      Can you verify this Sebastien? If some of the last two-three days security updates for 8.1 might have some connection to it?
    • UPDATE: Teamviewer 10 open in tray seems to be blocking your process detection.
    • Interesting, I will have a look.
      Sebastien Lebreton [MSFT]
    • I'm not using different sessions 
      Can you try to temporarily disable antivirus software and/or firewall to see if something interfere with our process detection ?
      I have try, no change
    • Hi,
      I found something.
      If you click on Attach on Unity it's not Ok.
      But if you go the menu Debug=>Attach Unity Debugger it's fine
  • 2.0 version has 2 bugs
    2 Posts | Last post August 11, 2015
    • 1: Application.RegisterLogCallback will lost callback.
      2:the projects to UnityVS.client.sln will be removed at random time.
    • Hello,
      Can you give us some repro projects so that we can identify and fix those issues ?
      Sebastien Lebreton [MSFT]
  • Causing Editor Crashes
    6 Posts | Last post August 04, 2015
    • I don't have a solid repro case for this, but I've run into this quite often. If I connect the debugger to the Editor while not in play mode and then press play, it can cause Unity to either stop responding (with the Windows dialog indicating such), or it can cause Unity to insta-close and open the bug report window.
      In particular, it has to do with where breakpoints are placed. I think it has only happened if I had a breakpoint placed. Further, I think it only happens if that breakpoint is located in a place the will get hit very early on (in the first frame or maybe first few frames), such as Awake, OnEnable, etc.
    • I lied. Now I have a repro case that works on my machine using VS 2013 Update 5, Windows 8.1 x64, Unity 5.1.1f1. Looks like breakpoints inside coroutines (maybe just nested coroutines) cause the crash.
      1) Open Main.unity
      2) Connect the debugger
      3) Drop a breakpoint on SaveDataManager:10 (it looks like it's important that you place the breakpoint *after* connecting)
      4) Press play in the Editor
      5) Crash
      I also noticed it happens if I drop the Overseer script on the Main Camera, but not if I create a new GameObject and drop it there.
    • Hello,
      Thanks for your repro.
      Let me check that right away.
      Sebastien Lebreton [MSFT]
    • With the same configuration (Unity 5.1.1f1, VS2013 U5):
      I'm able to reproduce this if the experimental exception support is enabled in VS/Tools/Options/Tools for Unity.
      If you disable it, everything is working fine.
      I tried with Unity 5.2 Beta 5, and it is always working, with exception support enabled or not. 
      So it seems a bug on the Unity side. We expect lots of improvements with Unity 5.2, because at this time the debugging layer on the Unity side is very weak regarding exception handling, and can force Unity to crash.
      Sebastien Lebreton [MSFT]
    • Thanks for the information. Being able to stop the crashes is very helpful. Can you clarify precisely what the "Exception Handling" option does? Is this for auto-breaking when an exception occurs?
    • Indeed, this is for breaking on exception.
      Sebastien Lebreton [MSFT]
  • Duplicate breakpoints created
    3 Posts | Last post July 27, 2015
    • Certain scenarios cause multiple breakpoints to be created on the same line of code. This is easily repro'd by:
      attach the debugger
      create a breakpoint
      right click the breakpoint
      click When Hit (2013)/Actions (2015)
      enter some text
      check the breakpoints window
      notice you have multiple breakpoints
      Giffier version:
      This doesn't appear to happen when not connected. This cause some problems when debugging. It seems only one of the breakpoints will actually function properly, and it's not clear which one it will be. If you change the action/condition while attached the change probably won't 'stick' because one of the other copies of the breakpoint will be used. Same with trying to disable/enable the breakpoint.
    • Hello,
      Good catch, we'll fix that.
      Thanks for the report.
      Sebastien Lebreton [MSFT]
    • This is now fixed and will be available in the next release.
      Sebastien Lebreton [MSFT]
  • Cant see 'references' in methods
    3 Posts | Last post July 27, 2015
    • i've installed the vs tools, follow the steps to integrate with unity, but i can't see the references in the top of methods. can you help me with this guys?
    • by the way, my visual studio is 2013 Professional
    • Hello,
      This feature is named Codelens (and is not specifically related to VSTU projects).
      You can enable it in VS/Tools/Options/Text Editor/All Languages/CodeLens
      But you need to have Visual Studio 2013 Ultimate.
      Sebastien Lebreton [MSFT]
  • "Select Unity Instance" doesn't show Standalone
    3 Posts | Last post July 22, 2015
    • I'm working on a project currently that requires a (provided) DLL for physical hardware, which for some reason won't work from within the Editor.  So far I've seen it working when on the exported Standalone, so I don't consider it a full loss.
      I'm trying to debug my interactions with this DLL, and I'm coming across an issue where the "Select Unity Instance" dialog box (double-click the plug bottom right) displays only the Editor instance, even though the Standalone was built with Script Debugging enabled and is open.
      Because VSTU's in the solution, I can't use MonoDevelop to debug my issue with the DLL.
      Is there something I'm missing to be able to debug my Standalone app?
    • Hi!
      You should be able to see the Standalone player if you go through the menu:
      Debug -> Attach Unity Debugger.
      Jb Evain, Dev Lead, Tools for Unity
    • Okay, now I see the Player.
      Why are the two dialogs different?  They have the same window title, they should have the same function.
  • Change log
    2 Posts | Last post July 21, 2015
    • Can we get a link to the changelog in the description tab? It's surprisingly difficult to find (probably just me).
    • Hey!
      That makes sense, thanks for the suggestion!
      Our changelog for 2.0 is still being deployed on the MSDN (not sure why we don't see it yet, we'll investigate).
      In the meantime you can fallback to our old site:
      Thanks & best regards,
      Jb Evain, Dev Lead, Tools for Unity
  • [Rare] Race condition logic error when debugging in Unity using UnityVS
    5 Posts | Last post July 20, 2015
    • This one is super rare to track down, but I managed to capture it. Because it's a race condition, you probably won't be able to track down this.
      This occurs when the debugger is attached to the Unity process, and you slowly go through all of the codes in execution line by line. This is what happens (screenshot):
      I highlighted the relevant parts here:
      yMin.position.y is 0.3. yEnd is -0.4. yMin.position.y <= yEnd is FALSE.
    • Just in case, here's another screenshot to prove that there's a race condition somewhere in UnityVS.
    • Just when I posted this, Unity crashed while the debugger is attached and debugging the expression. I don't know how to explain.
    • Hello
      Thank you for reporting this.
      Are you sure that your source code is in sync with what Unity is executing?
      Can you send us a mail: vstusp [at] microsoft [dot] com with your repro project ?
      Sebastien Lebreton [MSFT]
    • Sorry for the super late response. I had a summer part-time job, hence the long pause.
      My repo is open-source, so you may checkout from GitHub here.
1 - 10 of 165 Items