<linker>
  <!--
    This link.xml file is provided to prevent MRTK code from being optimized away
    during IL2CPP builds. More details on when this is needed and why this is needed
    can be found here: https://github.com/microsoft/MixedRealityToolkit-Unity/issues/5273
    If your application doesn't use some specific services (for example, if teleportation system is
    disabled in the profile), it is possible to remove their corresponding lines down
    below (in the previous example, we would remove the TeleportSystem below).
    It's recommended to start with this list and narrow down if you want to ensure
    specific bits of code get optimized away.
  -->
  <assembly fullname="Microsoft.MixedReality.Toolkit" preserve="all" ignoreIfMissing="1" />
  <assembly fullname="Microsoft.MixedReality.Toolkit.SDK" preserve="all" ignoreIfMissing="1" />
  <!-- Core systems -->
  <assembly fullname="Microsoft.MixedReality.Toolkit.Services.BoundarySystem" preserve="all" ignoreIfMissing="1" />
  <assembly fullname="Microsoft.MixedReality.Toolkit.Services.CameraSystem" preserve="all" ignoreIfMissing="1" />
  <assembly fullname="Microsoft.MixedReality.Toolkit.Services.DiagnosticsSystem" preserve="all" ignoreIfMissing="1" />
  <assembly fullname="Microsoft.MixedReality.Toolkit.Services.InputSystem" preserve="all" ignoreIfMissing="1" />
  <assembly fullname="Microsoft.MixedReality.Toolkit.Services.SceneSystem" preserve="all" ignoreIfMissing="1" />
  <assembly fullname="Microsoft.MixedReality.Toolkit.Services.SpatialAwarenessSystem" preserve="all" ignoreIfMissing="1" />
  <assembly fullname="Microsoft.MixedReality.Toolkit.Services.TeleportSystem" preserve="all" ignoreIfMissing="1" />
  <!-- Data providers -->
  <assembly fullname="Microsoft.MixedReality.Toolkit.Providers.LeapMotion" preserve="all" ignoreIfMissing="1" />
  <assembly fullname="Microsoft.MixedReality.Toolkit.Providers.OpenVR" preserve="all" ignoreIfMissing="1" />
  <assembly fullname="Microsoft.MixedReality.Toolkit.Providers.OpenXR" preserve="all" ignoreIfMissing="1" />
  <assembly fullname="Microsoft.MixedReality.Toolkit.Providers.UnityAR" preserve="all" ignoreIfMissing="1" />
  <assembly fullname="Microsoft.MixedReality.Toolkit.Providers.WindowsMixedReality.Shared" preserve="all" ignoreIfMissing="1" />
  <assembly fullname="Microsoft.MixedReality.Toolkit.Providers.WindowsMixedReality" preserve="all" ignoreIfMissing="1" />
  <assembly fullname="Microsoft.MixedReality.Toolkit.Providers.XRSDK.WindowsMixedReality" preserve="all" ignoreIfMissing="1" />
  <assembly fullname="Microsoft.MixedReality.Toolkit.Providers.WindowsVoiceInput" preserve="all" ignoreIfMissing="1" />
  <assembly fullname="Microsoft.MixedReality.Toolkit.Providers.XRSDK" preserve="all" ignoreIfMissing="1" />
  <assembly fullname="Microsoft.MixedReality.Toolkit.Providers.WindowsSceneUnderstanding" preserve="all" ignoreIfMissing="1" />
  <!-- Extension services -->
  <assembly fullname="Microsoft.MixedReality.Toolkit.Extensions.HandPhysics" preserve="all" ignoreIfMissing="1" />
  <assembly fullname="Microsoft.MixedReality.Toolkit.Extensions.Tracking" preserve="all" ignoreIfMissing="1" />
  <assembly fullname="Microsoft.MixedReality.Toolkit.Extensions.SceneTransitionService" preserve="all" ignoreIfMissing="1" />
</linker>
