Дефайны можно объявлять не только в ProjectSettings, но и в файлах csc.rsp. При этом эти файлы могут располагаться как в корне (В папке Assets), так и у каждой ассембли отдельно. Внутри можно делать ссылки на другие csc.rsp, подробнее можно почитать тут: 

https://docs.unity3d.com/530/Documentation/Manual/PlatformDependentCompilation.html.

Read More  

Существует такой аттрибут Conditional, который дает возможность отключать/включать куски кода по дефайну.

[Conditional("DEBUG")]
void Method() {...}

Метод будет компилироваться только если существует дефайн DEBUG. Метод должен быть void.

Read More