Yesterday, adding a dependency in Jetbrains Rider was a non-event: type the class name, hit Alt+Enter, keep coding. Today, the exact same shortcut quietly stopped writing anything to my .asmdef file and it took me a full day to even understand what was going on, let alone fix it.
For context: right now, I'm working on a flexible selection system for my game The Weight of One: The Jovarko Incident, a tactical space-combat game. The project is split into several modules, each with its own Assembly Definition: Core.asmdef, Systems.asmdef, UI.asmdef, Data.asmdef, and so on. I recently added UnityAtoms through the Package Manager, and I wanted to use types like AtomEvent and AtomValueList from the Data module. Simple stuff. Except it wasn't, and here's the story of it.
The Ghost Import
The first sign something was wrong was almost funny. I'd type AtomEvent, the name would show up red (unresolved), I'd hit Alt+Enter → Reference and import, and the red would disappear. Great, dependency resolved, right?
Then I'd switch focus to the Unity Editor window to check something in the Inspector. The moment I clicked back into Rider, the exact same symbol was red again. Same file, same line, nothing touched in between.
It felt like Rider had briefly pretended to fix the problem and then changed its mind the second I looked away.
What Reference and Import Is Actually Supposed to Do
To be clear on what should happen: when you add a dependency through the Unity Package Manager, and you click Alt+Enter on an unresolved type that exist in an external assembly, Rider is supposed to add a reference in your .asmdef file. In my case, Data.asmdef should end up depending on UnityAtoms.UnityAtomsCore.Runtime. That's the whole mechanism that makes cross-module code work cleanly with Assembly Definitions instead of forcing everything into one giant assembly.
Except my Data.asmdef never actually gained that reference. The autocomplete looked like it worked. But the underlying file wasn’t changed, which meant the result was only cosmetic. The Rider’s syntax highlighter got a brief nap before Unity's next domain reload reminded it that, structurally, nothing had actually been connected.
The Troubleshooting Rabbit Hole
At this point, I did what anyone would do: assumed it was something dumb on my end and started working through the usual checklist.
• Invalidate Caches / Restart
• Regenerate project files from Unity
• Fully close Unity, delete the .csproj / .sln files, reopen and let them regenerate
• Clean out the Library/ folder
• Update both Rider and the JetBrains Rider Editor package
• Toggle Git packages and Built-in packages under Unity's External Tools preferences.
None of it stuck. By the end of the day, I had tried basically every standard fix in the book and I was exactly as blocked as when I started.
The Almost-Fix
Here's the one thing that worked, sort of: opening the asmdef file directly inside Rider's own editor and adding the reference by hand. Mind you, not through Unity's Assembly Definition Inspector. Through the raw file directly. That would sometimes get the symbols to resolve and stay resolved.
Sometimes. Not always. And I still haven't figured out what actually triggers it to break again. It's not tied to a specific action I can reproduce on demand, which is the most frustrating kind of bug: the kind where your "fix" is really just a temporary appeasement ritual and nothing else.
Why This Bugs Me More Than a Normal Bug
Well, it turns out I wasn't the only one blindsided by this either. A bit of digging turned up RIDER-94834 on JetBrains' YouTrack, a closely related report of asmdef references not being persisted correctly.
And what gets under my skin isn't that the bug exists — software breaks, that's just how things go. It's how it fails. Nothing about the UI hinted that the import hadn't actually landed on disk. That distinction matters to me.
If package-sourced assemblies are a known blind spot for Rider, that's fine. It's a limitation, and limitations are forgivable. What isn't forgivable is showing that everything is ok when something silently fails. If Rider doesn’t support this type of import, say so: a warning banner, a tooltip, a line in the changelog. Anything beats finding out, after a wasted day, that it’s a visual bug.
I'm not saying this to pile on. I pay for Rider, and it earns that money close to 100% of the time, which is exactly why this one stings. The bar is set high, and watching a core part of the Unity workflow quietly fail with zero warning felt genuinely out of character.
What's Next
I've since opened a thread on the Rider support forum.
If this problem sounds familiar to you, don't just quietly work around it, please. Go upvote and comment on both the thread and the YouTrack issue. A pile of "me too" moves the needle.
For now, I'm sticking with the manual-edit workaround and treating every successful Alt+Enter import with deep suspicion until I've actually reopened the file to confirm the reference stuck. Not a great long-term workflow, but it's hopefully unblocking me for the moment.
Has anyone else seen asmdef references silently drop the moment you switch focus between Unity and Rider? If you've found a workaround that actually holds, not just "sometimes" but reliably, I'd really like to hear it in the comments.
Useful Links:
The Weight of One - Official Channel The Weight of One - Itch.io Page
My Personal Channel
You can find my Dev Vlogs in all channels!
Top comments (0)