https://github.com/Cysharp/MemoryPack?tab=readme-ov-file#polymorphism-union
`DynamicUnionFormatter` используется для того, чтобы избежать необходимости вручную писать форматтер для полиморфных типов, таких как интерфейсы или абстрактные классы с несколькими реализациями.
у вас есть интерфейс или абстрактный класс, реализуемый несколькими классами, вам нужно перечислить все эти классы с использованием атрибутов `[MemoryPackUnion]` над интерфейсом/абстрактным классом, чтобы обеспечить корректную работу MemoryPack.
```csharp
[MemoryPackable]
[MemoryPackUnion(0, typeof(FooClass))]
[MemoryPackUnion(1, typeof(BarClass))]
public partial interface IUnionSample
{
void SomeMethod();
}
```