Я пишу библиотеку C #, которую можно использовать в Unity или любом универсальном моно / .NET-приложении. Мне бы хотелось, чтобы часть кода работала по-разному, в зависимости от того, работает ли он в контексте Unity или что-то еще.
Глядя на доступные флаги #define в Руководстве по Unity , похоже, что не существует ни одного #define, охватывающего все платформы. Список для UNITY_STANDALONE читает
# определение директивы для компиляции / выполнения кода для любой автономной платформы (Mac OS X, Windows или Linux).
Что подразумевает для меня, что единственным способом получить полное покрытие будет
#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WII || UNITY_IOS || UNITY_IPHONE || UNITY_ANDROID || UNITY_PS4 || UNITY_XBOXONE || UNITY_TIZEN || UNITY_TVOS || UNITY_WSA || UNITY_WEBGL || UNITY_FACEBOOK
Есть ли лучший способ определить, работает ли код в Unity?