Roslyn merged a new analyzer API, DiagnosticSuppressor, that allow programatic suppression of warnings. The pull request can be seen here: https://github.com/dotnet/roslyn/pull/36067. It closes an issue that was open specifically about Unity's SerializeField: https://github.com/dotnet/roslyn/issues/30172. It looks like now Unity just needs to update its compiler version and implement a DiagnosticSuppressor to suppress CS0649. A new version of Roslyn is probably not released yet since this was merged yesterday, but I thought I should let you guys know. And please add this to 2018 LTS!