Por que o Unity não pode trabalhar com código C # 6 ? Sempre me dá erros de compilador. Aqui estão alguns exemplos de código:
using static System.Convert;
using static System.Environment;
$"€{punten}{NewLine}€{Money}{NewLine}€{KilledEnemies}{NewLine}€{bonus}{NewLine}€{total}";
Eu uso o Visual Studio como meu editor de código e construo sem erros. Se eu pressionar play no Unity, ele não será construído.
unity .net profile upgrade
no GoogleRespostas:
O Unity usa uma versão antiga do Mono runtime, baseada no .NET3.5. Ele usa algo entre C # 3 e 4 em termos de recursos.
Eu encontrei isso pesquisando no Google. Não tenho certeza se funciona, mas pode ser algo que vale a pena investigar.
fonte
A Unity Technologies anunciou que o Unity está atualizando para 4.6+. Está disponível através de testes beta agora.
fonte
Este vídeo no YouTube demonstra como alguém foi capaz de obter a sintaxe C # 6 trabalhando no Unity criando um novo projeto, alterando o .Net Framework de destino para 3.5, definindo os diretórios de compilação e lançamento na pasta de ativos do projeto Unity e adicionando um referência à DLL do UnityEngine. A depuração parece funcionar da mesma maneira.
fonte
O compilador no Visual Studio possui mais recursos que o compilador no Unity, o que significa que algum código (especialmente os recursos c # mais recentes) causará um erro no Unity, mas não no Visual Studio.
No entanto, você pode alterar sua estrutura de destino para corresponder à que mais se aproxima do que o Unity usa em seu editor. Fiz isso no Xamarin ao desenvolver bibliotecas para o Unity, mas parece que também é possível no Visual Studio.
https://msdn.microsoft.com/en-us/library/dn940020.aspx
fonte