Mono Develop lost autocompletion and refactoring

I have been struggling with a project in which I had partially lost autocompletion and refactoring.

I would type “public Rec” and it would point to anything but “Rect” for example.
I could type “Applic” and it wouldn’t point to “Application either”.

And using Cmd+R on a class name would do nothing, and the “Refactor” menu in the context menu had disappeared.

As this happened only on a project and not the others I started blaming something in my code that could break it.

Now that I found a solution, I’m answering my own question so that others don’t have to suffer the same issue.

I went in the project folder, and removed all files that were at the root without touching any of the Assets, Library, Project Settings or Temp.
Deleted all the .sln, .unityproj and .csproj files.
Then back in Unity, I Sync’ed the MonoDevelop project from the Assets menu.
And everything is back to normal.

Hope this helps anyone in the same uncomfortable situation.

What went well for me was to go to Unity > Edit > Preferences > External Tools > External Script Editor and modifiy from “MonoDevelop(built in)” to [Browse] and manually target MonoDevelop inside the Unity installation folder.

For me this was “C:\Program Files (x86)\Unity\MonoDevelop\bin\MonoDevelop.exe”

Kudos for this wonderful solution to captain-andy.

I am using Unity 4.3 with MonoDevelop 4.01. What I did to solve this issue was to navigate to the root of the project and double click on .sln for example RollABall.sln and this loaded MonoDevelop with all the required dlls, and autocomplete worked too. Hope this helps :slight_smile:

Found a solution: Manually install .NET 4.5, if you have it installed this will update .NET and everything works fine after that!

For future people: Make sure you don’t have a line-commented-out block-comment opener!

Check to see if anywhere you have a commented out line like this:

// [anything between] /*

Apparently, MonoDevelop doesn’t let you auto complete for the rest of a method, even if you close off that comment block opener.

Latest Way:

Go into preferences - External Tools - and click editor attaching - then Quit Unity and relaunch, then turn Editor Attaching back on, and restart Unity again, then open a script w/ Monodevelop and all should be working.

This worked for me on OSX 10.9, after trying many different things to fix it.

What I had to do was go to “File>Open” then select the *.sln file in my game workspace root (just above the “Assets” folder. For some reason, MonoDevelop wasn’t opening the solution automatically when I opened a script from Unity.


I’m running the latest MonoDevelop 5.9.6 with Unity 5.3.1p1. The refactoring of names is working as well as the autocompletion. What doesn’t even show the Refactor context menu is right clicking on method names that are missing to create them…
How does one get that functionality back?

installing net 4.5 did the trick for me… I also erases the root .sln files for good measure… and be sure to point unity to the binary mono… not the shortcut i think… maybe not all of this was neccesary… but it worked

activating 3.5 framework worked from me, guide here:

This worked for me by selecting Mono Develop as script editor tool in Preference.

What I did,

  • By default there was no tool selected as I had installed Unity 2018.1, so I installed Mono Develop from Unity 2017.4. And then (without changing Script Editor in Preference) I was still able to open my all scripts in Mono Develop but auto complete was only showing only few namespaces like System etc but no Unity specified namespaces.
  • When I checked in Preferences, it was showing “Internal” in External Script Editor, so what I did was detected Mono Develop manually from “Browse” button and then it was showing “Mono Develop” there.
  • I just restarted Unity and it worked for me.

I hope this answer helps solving the same problem to others.

I had such a problem after switching from one version of unity to another. I tried all the tips, but nothing helped me. What solved my problem: copying the entire contents of the folder ProjectSettings from the new project to the desired one.