Renaming: I don't want to have to run my executable through another obfuscator before VMProtect. Class/method/field renaming is standard on even free .NET obfuscators and VMProtect should have it too. (maybe have it be apart of the 'Strip debug information' option?)
We are going to implement this feature in LUA script.
String encryption by default: Most .NET protectors allow you to have an option to protect all strings in the executable. Would be a nice convenience feature instead of doing SDK.DecryptString for every single string you use.
Because "most .NET protectors" have no API like VMProtectDecryptString ) Anyway, protection of all strings is useless like protection of all functions in an application. Usually a developer want to protect only critical strings like "Correct/incorrect login/password".
Native VMs: While probably quite hard to implement, having a native VM for .NET CIL would make the protection much stronger and also differentiate you guys from the rest of .NET protectors. (the only other product that does this costs 2000$ and having that would make you guys the top of the line for .NET right now)
I don't understand what you mean. We have already implemented own VM for CIL code. Did you try it?