Instructions for setting up MonoDevelop 2.2 to use with Unity?

Can someone provide information on the optimal options, plugins, and settings for using the latest version of MonoDevelop with Unity? Ideally, I'd like at least code completion and console links to work.

With Unity 2.6, this has become even easier. If you launch Unity 2.6 go to Assets->Sync VisualStudio Project. This will create all the correct Visual Studio solution and project files. Since Mono Develop 2.2 is compatible with Visual Studio solution/project file structures, all you have to do is open the solution file in MonoDevelop and you are all set (include code completion).

I have tested this on the Mac and Windows and both work fantastic.

For Unity 2.6 and up use Assets->Sync VisualStudio Project, then open the .sln file created in the project folder with MonoDevelop Below is the old method that is much more time consuming. :) Thanks to Ryan Zek!

Bypassing the Integration Package, you can simply start a new Solution in Mono (File->New Solution) then be sure to select C#->Console Project and finish creating the project with the solution located in your Unity project.

You'll want the UnityEngine library to be used in code completion, so... Now, menu Project->Edit References... Choose the .NET Assembly tab and use the interface to navigate to the Unity folder (probably in your Applications folder). (At this point you may want to hit the Add button on the left side to add a shortcut so you can get here easily later.) Now navigate inside the package, then Contents->Frameworks. Command select both UnityEngine-Debug.dll and UnityEngine.dll and then hit the add button on the far right. Click okay.

After this someone else might have great advice about integrating it better (I remember some forum posts about integrating documentation)

The easiest path right now is to use Lucas Meijer's Visual Studio integration package. It will create a VS solution that includes a reference to the UnityEngine.dll, which is what you need for code completion, and you can from then on keep your project updated by using the new "Sync Visual Studio menu option".

Caveat user: the last time I checked it there was a bug where if any directory was selected when you sync'd the visual studio solution, a symlink to the Assets directory would be created within an Assets subdirectory, creating a circular reference. Be sure to test for that behavior just in case.

Update: Now that Unity 2.6 has been released, including its transparent VisualStudio integration, Lucas' package is no longer required.