cursor unity intellisense took me four days to get working properly and here is the exact configuration that fixed it
The first time I opened a Unity project in Cursor and started typing, the UnityEngine completions were missing. No MonoBehaviour method suggestions, no Transform property hints, no component type completions. I spent four days troubleshooting before getting proper Unity IntelliSense working in Cursor. The fix turned out to be a specific combination of extension, project file, and folder setup that none of the guides I found documented clearly. This is the exact solution.
Marcus Webb
June 27, 2026
Symptoms of broken Unity IntelliSense in Cursor: typing GetComponent shows no type suggestions, typing transform dot shows no property completions, typing Debug dot log works but UnityEngine specific types show no completions, MonoBehaviour lifecycle method names are not suggested. If you are seeing these symptoms this post documents the exact fixes for each cause.
Day One: What I Thought Was the Problem
My first assumption was that I needed a Unity specific extension in Cursor. I spent day one searching for and installing Unity focused extensions from the VS Code marketplace. None of them fixed the IntelliSense gap. Some were for Unity 2019 and had not been updated. Some added snippet shortcuts but did not provide type completions. The IntelliSense gap in Cursor for Unity is not an extension problem. It is a project file and extension configuration problem. The extensions are part of the solution but not the entire solution.
The Four Causes and Their Fixes
# Cursor Unity IntelliSense: Four Causes and Exact Fixes
## Cause 1: C# extension not installed or wrong version
Symptom: No C# syntax highlighting, no any C# completions at all
Fix:
1. Cursor Extensions sidebar (Ctrl+Shift+X)
2. Search: C#
3. Install: C# by Microsoft (ms-dotnettools.csharp)
NOT C# Dev Kit - this is a different extension and may conflict
4. Restart Cursor completely
5. Verify: open any C# file, type 'using System.' and confirm
you see namespace completions
## Cause 2: Project opened from wrong folder
Symptom: C# completions work but UnityEngine types are missing.
transform. shows nothing. MonoBehaviour is not recognized as a type.
Fix:
1. Close the current Cursor workspace
2. File > Open Folder
3. Select the Unity project ROOT folder
Correct: C:\MyProjects\MyGame (contains Assets, Packages, ProjectSettings)
Wrong: C:\MyProjects\MyGame\Assets (this is the Assets subfolder)
4. Cursor needs the .sln file which is in the project root
The .sln file connects Cursor to the Unity project structure
5. Wait for C# language server to initialize (1-3 minutes on first open)
Status bar shows C# language server status
## Cause 3: Unity has not generated project files for Cursor
Symptom: .sln file does not exist in project root, or exists but is empty
or references Visual Studio not Cursor
Fix:
1. Open Unity Editor
2. Edit > Preferences > External Tools
3. External Script Editor: set to Cursor executable path
4. Click 'Regenerate project files' button
(must click this even if Cursor was already selected)
5. Close and reopen the project in Cursor
6. Verify: project root should now contain YourProjectName.sln
and one or more .csproj files
## Cause 4: .cursorignore is ignoring the .sln or .csproj files
Symptom: All above steps done correctly but UnityEngine completions
still missing or intermittent
Fix:
Open your .cursorignore file and confirm these patterns are NOT present:
*.sln
*.csproj
*.csproj.*
The .csproj files contain the Unity assembly references that tell
the C# language server where UnityEngine.dll lives.
If Cursor cannot read the .csproj file it cannot find UnityEngine types.
Correct .cursorignore for Unity:
---
Library/
Temp/
obj/
Build/
Builds/
Logs/
UserSettings/
---
Do NOT add Packages/ to .cursorignore if you use package-provided types
in your scripts. The Packages folder contains package .csproj files
that provide type definitions for installed packages.
## Verification sequence after applying fixes:
1. Open a Unity script that uses MonoBehaviour
2. Add a new line inside a method body
3. Type: gameObject.
You should see: transform, name, activeInHierarchy, GetComponent etc.
If you see these: IntelliSense is working
4. Type: GetComponent<
You should see: UnityEngine type suggestions
5. Type: Rigidbody
Should appear in completions with the correct UnityEngine.Rigidbody type
If all three work: complete Unity IntelliSense is active in CursorWhat Happens After Unity IntelliSense Is Working
- Error detection before compilation: Cursor will underline errors in your C# before you switch to Unity. Type errors, missing references, incorrect method calls are all flagged in the editor. This is faster than the compile cycle of switching to Unity, triggering a compile, reading the console error, and switching back.
- Hover documentation: hovering over any Unity API method shows the documentation summary. This is significantly faster than alt-tabbing to a browser and searching docs.unity3d.com. For frequently used Unity API you essentially stop needing the documentation page for reference.
- Method signature hints: when you type a method call, the parameter hints appear showing what each parameter expects. For complex Unity methods like Physics.Raycast with multiple overloads this saves significant time.
- Go to definition: clicking a Unity method or class with Ctrl+click (or Cmd+click on Mac) jumps to the decompiled definition. Useful for understanding what a Unity method does internally or finding the exact parameter types.
Where Cursor Unity IntelliSense Is Still Limited
- Attribute completions are incomplete: Unity attributes like Header, SerializeField, Tooltip, and Range work with IntelliSense but some less common Unity attributes are not suggested. The editor knows they exist but does not suggest them proactively.
- Recent Unity 6 additions to existing classes: Methods added to existing Unity classes in Unity 6 specifically appear in IntelliSense because they are in UnityEngine.dll but hover documentation may show older descriptions because the C# extension docs are not always updated as quickly as Unity's API.
- Package specific types with complex dependencies: Some Unity packages add types that only appear in IntelliSense if the package csproj file is correctly resolved. If a package type is not appearing in completions, check that the package is listed in Packages/manifest.json and that the project files have been regenerated since adding it.
Mistakes in My Four Days of Troubleshooting
- Installing the C# Dev Kit extension instead of the C# extension: These are two different Microsoft extensions. C# Dev Kit is the newer enterprise version that requires a Visual Studio subscription. C# by Microsoft (ms-dotnettools.csharp) is the correct extension for Unity work in Cursor. I installed the wrong one on day one and spent half a day wondering why IntelliSense still was not working.
- Not restarting Cursor after installing the extension: The C# language server does not activate until Cursor is fully restarted. I installed the extension and immediately tried to test IntelliSense. It showed nothing because the server had not started yet. Restart Cursor completely after any extension install.
- Regenerating project files without having Cursor set as the external editor: I clicked Regenerate project files while Visual Studio was still set as the external editor. The regenerated .sln was a Visual Studio solution format that did not work optimally with Cursor. Set Cursor as the external editor first, then regenerate.
- Testing IntelliSense on a new empty script: Empty scripts have no using statements and no class body. Testing IntelliSense on an empty file showed nothing because there was nothing to complete. Test on an existing script with a MonoBehaviour class body.
Final Thoughts
Four days of frustration condensed into a two-hour setup using the correct sequence. The root cause of most Unity IntelliSense failures in Cursor is one of the four causes documented above and all four have straightforward fixes. The most common single cause I see in other developers' reports is opening the Assets folder instead of the project root, which prevents the .sln file from being found. That one change resolves the most frequently reported IntelliSense problem. Fix that first and check the other three causes only if IntelliSense is still not showing Unity type completions.