Убираем ворнинги (warning) из сторонних плагинов – лечим TenjinНужно было добавить в проект Tenjin. Он поставляется только через
.unitypackage, его нельзя добавить как зависимость в
Package Manager. Ок, закидываем в проект файлы, получаем кучу предупреждений от компилятора:
Assets\Tenjin\Scripts\TenjinAdMobIntegration.cs(12,25): warning CS0414: The field 'TenjinAdMobIntegration._subscribed_rewarded_interstitial' is assigned but its value is never used
Assets\Tenjin\Scripts\TenjinAdMobIntegration.cs(9,25): warning CS0414: The field 'TenjinAdMobIntegration._subscribed_banner' is assigned but its value is never used
Assets\Tenjin\Scripts\TenjinAdMobIntegration.cs(11,25): warning CS0414: The field 'TenjinAdMobIntegration._subscribed_interstitial' is assigned but its value is never used
...
Они появились из-за использования препроцессорных директив типа
#if tenjin_admob_enabled, но нам разработке они сильно мешают - при каждой компиляции в консоли по 10 мусорных ворнингов.
Решение: 1) Создаем для плагина отдельный assembly (
.asmdef)
2) Создаем рядом с
.asmdef файлом файл
csc.rsp3) В
csc.rsp пишем (0414 это код конкретного ворнига, у вас может быть другой)
-nowarn:0414
И хоть ChatGPT и считает, что
This affects all scripts in the project — not just a specific .asmdef.
There’s currently no way to scope compiler flags per .asmdef using Unity’s built-in tools.
На самом деле, всё отлично работает – ворнинги из assembly игнорируются, из остального проекта – нет.
P. S. Рассказать, почему нужно бороться с ворнингами?#тайные_знания