Unity does not compile my changes after using assembly definitions

I created a complex character controller and I noticed that all the scripts I made have began to slow the unity editor down. After looking up online, I was told you can use assembly definitions to section your code and speed up the compile times of code changes.
However, when I use assembly definitions. Making changes to my code doesn’t reflect in the game I make in any way. The only time the changes I make compile is when I close and reopen the project. I haven’t seen any videos or explanations of people encountering a problem like this or how to resolve it. Is there anything I’m doing wrong?

This is what my asset folder looks like with my scripts folder opened. I divided my game code into 4 folders. StateMachines, InputControls, Combat and Climbing.

This is what my solution explorer looks like in visual studio after adding the assembly definitions. I initially added on for the statemachine folder but I thought that since some scripts in that folder reference classes from many scripts, removing it and allowing the folder to reside in the Talisman.general assembly definition would fix my problem, but nothing has changed.

I don’t have any errors or circular dependencies. My game runs normally, but my changes to the code doesn’t work unless I reopen the project. Does anyone know why?

Hard to tell what’s going on on your end. Maybe you disabled Auto Refresh and / or automatic domain reload. If you did any of that, you have to manually refresh / reimport assets that have changed. Disabling domain reload may not be that much of an issue, but depending on how your code works it may lead to unexpected results.

What changes do we actually talk about? It’s not a serialization issue or is it?

Assembly definition files can but not always will reduce compilation time. It generally makes the compilation time longer. You only have a benefit when you’re working in the root assembly and the satellite assemblies are not changed. If an assembly is changed that is a dependency to other assemblies, all those need to be recompiled as well. That’s why most packages use assembly definition files as they are usually just imported and used “as is” and they are never changed. So they are compiled once and that’s it.

As I said, it’s very difficult to diagnose such issues.