Описание
Убедитесь, что сборка всегда обрабатывается во время удаления управляемого кода.
Используйте атрибут [assembly: UnityEngine.Scripting.AlwaysLinkAssembly], чтобы заставить UnityLinker обрабатывать сборку независимо от того, ссылается ли на нее другая сборка, включенная в сборку.
Используйте этот атрибут для пакетов или предварительно скомпилированных сборок, которые содержат один или несколько методов с атрибутом [RuntimeInitializeOnLoadMethod]
, но которые не могут содержать типы, прямо или косвенно используемые в каких-либо созданных сценах. для проекта.
Обратите внимание, что этот атрибут только указывает UnityLinker на обработку сборки. Если ни один элемент кода не соответствует правилам корневой маркировки для сборки, UnityLinker все равно удалит сборку из сборки.
Атрибут [AlwaysLinkAssembly]
может быть определен только в сборке. Объявите атрибут в любом файле C#, скомпилированном в сборку, вне объявления пространства имен.
Смотрите так же: Managed Code Stripping
using UnityEngine;
using UnityEngine.Scripting;
[assembly: AlwaysLinkAssembly]
namespace Example
{
public class Foo
{
[RuntimeInitializeOnLoadMethod]
public void Initialize() {}
}
}