Updated code in Monodevelop is not being reflected in re-built binaries

Hi,

I’ve installed Unity 4.3.4f1 after a while I didn’t code with it.
Very near the start of the project integration problems between Monodevelop and Unity started popping up. There was a problem with breakpoints “becoming pink” as soon as the game was run so debug was not working. As well as some other stuff.

Latest oddity I am seeing is as follows:

  • some variable is set to some value int x = 7;
  • change the above to int x = 9 in monodevelop, save and go back to unity. Unity recompiles.
  • Run the game and set a breakpoint in the script.
  • Watch x, it is still 7!
  • To test if unity cares about this script… Stop the game, go back to monodevelop and change the script to something invalid (doesn’t matter what, just create a syntax error or something).
  • Go back to unity, unity recognizes that the code is invalid
  • test 2: change the X variable above to y = 2 and the references for it in the code. In this case once you break, you have y and it is really set to 2. i.e. the compile did NOT pick up on the different value for existing variable but DID pick up on it being replaced by a new variable.

Any ideas why, how to fix or how to work around this? It’s impossible to do anything like this if you can’t be sure your changes take

Values set in the inspector take precedence over values set in code. To ask Unity to forget the inspector settings reset the component.