# Unity3D always switches back to C# 4.0?

I have already done this:

• Unity3D > Edit > Project Settings > Player

• Scripting Runtime Version: Experimental (.NET 4.6 Equivalent)
• Api Compability Level: .NET 4.6
• Visual Studio > Tools > Options > Tools for Unity

• Access to project properties: true
• Visual Studio > Project > Properties

• Application > Target Framework: .NET Framework 4.6.2
• Build > Advanced > Language Version: C# 6.0
• then save

After this: every error disappears that were there due to using new stuff.

But:

• As soon as Unity3D does something referencing something in VS, the Project Settings go back to the old one.

• For example:

• I delete a .cs file in Unity3D, then I switch back to VS. It says that the Project was changed outside, so I have to reload it. After reloading, the settings are reverted.

• I double click on a .cs file in Unity3D because I would like to open it in VS. Unity3D switches to VS for me and after that the project settings are reverted.

• Etc.

The code compiles in Unity3D, everything is fine but everytime I use something new one new error will pop up in the error list which is a bit distracting.

Question:

• How can I disable this reverting?
• Or how can I supress these errors?
• Which version of Unity are you using? – Aj_ Mar 27 '18 at 15:47
• I use 2017.3.1f1 – Tudvari Mar 27 '18 at 16:12