Вот экранированный текст:
MemoryPack поддерживает следующие атрибуты:
1. **\[MemoryPackable\]** — Основной атрибут, который указывает, что класс или структура могут быть сериализованы с использованием MemoryPack.
2. **\[MemoryPackIgnore\]** — Исключает поле или свойство из сериализации.
3. **\[MemoryPackInclude\]** — Включает приватное поле или свойство в сериализацию.
4. **\[MemoryPackOrder\]** — Указывает порядок сериализации членов класса или структуры.
5. **\[MemoryPackConstructor\]** — Указывает, какой конструктор использовать при десериализации.
6. **\[MemoryPackOnSerializing\]** — Метод, вызываемый перед сериализацией.
7. **\[MemoryPackOnSerialized\]** — Метод, вызываемый после сериализации.
8. **\[MemoryPackOnDeserializing\]** — Метод, вызываемый перед десериализацией.
9. **\[MemoryPackOnDeserialized\]** — Метод, вызываемый после десериализации.
10. **\[MemoryPackUnion\]** — Используется для указания полиморфных типов при сериализации интерфейсов или абстрактных классов.
11. **\[MemoryPackAllowSerialize\]** — Разрешает сериализацию типа, который обычно не поддерживается.
12. **\[SuppressDefaultInitialization\]** — Запрещает инициализацию полей значениями по умолчанию при десериализации.
13. **\[MemoryPackCustomFormatter\]** — Указывает пользовательский форматтер для сериализации конкретного поля или свойства.
Эти атрибуты позволяют гибко управлять процессом сериализации и десериализации данных с использованием MemoryPack, обеспечивая как высокую производительность, так и возможность кастомизации.