Critical ARKit Crash on iOS 26.1 with Unreal Engine 5.7 – AR Initialization Failure

Tablet AR applications built with Unreal Engine 5.7 (Source) crash immediately upon initializing ARKit components on iPads running iOS 26.1. This includes both GM-developed AR configurators and Epic’s own Handheld AR template from the 5.7 template pack. The crash occurs after successful packaging and deployment; apps launch to the start screen but terminate as soon as AR capabilities (e.g., environment scanning) are invoked.

[Attachment Removed]

Steps to Reproduce
Reproduction Steps

  1. Open Unreal Engine 5.7 (Source Build) on a Windows PC or Mac configured for iOS packaging.
  2. Create a new project using the Handheld AR template from the Unreal Engine 5.7 template pack.

Configure iOS packaging settings:

Ensure valid provisioning profile and certificate are applied.

  1. Set target device to an iPad running iOS 26.1.
  2. Package the project for iOS and deploy to the iPad.
  3. Launch the app on the iPad:
  4. The app will load the start screen successfully.
  5. Trigger AR functionality:
  6. Tap any button or UI element that starts AR session (e.g., environment scanning or placing objects).

Observe the crash:

App terminates immediately.

  1. Crash log shows SIGABRT in com.apple.arkit.stateSerialQueue during ARSession runWithConfiguration:options:.

[Attachment Removed]

Hi Jacob,

This appear to be due to a dynamic linker new/delete mismatch originating from the ARKit library. You can work around the issue by forcing the Ansi allocator adding:

StaticAllocator = StaticAllocatorType.Ansi;to the project’s Target.cs.

Best regards.

[Attachment Removed]

Hi Jacob,

With the modified StaticAllocator, we are not seeing this behaviour on this end. Can you confirm compile time settings are properly applied by tracing through FApplePlatformMemory::BaseAllocator() and see why the Allocator Instance it being set to MallocBinned2 instead of Ansi?

Best regards.

[Attachment Removed]

Hi Jacob,

In FApplePlatformMemory::BaseAllocator() in Source/Runtime/Core/Private/Apple/ApplePlatformMemory.cpp, setting a breakpoint after SetAllocatorToUse(), the specified allocator should be revealed by inspecting the AllocatorToUse variable.

Best regards.

[Attachment Removed]

Hi! Thank you so much for getting back to me, we were able to test out your solution and it seems we are still running into issues.

iOS 26.2 ARKit SLAM crash in UE 5.7 source when starting AR session — persists despite ANSI allocator fix (Xcode 16.2)

Summary

AR applications built with Unreal Engine 5.7 (source) crash immediately when starting an ARWorldTracking session on devices running iOS / iPadOS 26.2.

The crash occurs inside AppleCV3D / ARKit SLAM initialization and persists despite applying the recommended ANSI allocator workaround.

This issue has been reproduced using Xcode 16.2, confirming it is not caused by an unsupported Xcode or SDK version.

Environment

Unreal Engine: 5.7.0 (source build)

Project Type: Handheld AR / ARWorldTrackingConfiguration

iOS Version: 26.2 (23C55)

Device: iPad16,5

Xcode: 16.2

Build Configuration: Development

Distribution Method: Local deployment (not App Store)

Reproduction Steps

Build Unreal Engine 5.7 from source.

Create a new project using the Handheld AR template, or enable AppleARKit in an existing project.

In the Game Target (.Target.cs), apply the allocator workaround previously suggested by Epic:

C#

if (Target.Platform == UnrealTargetPlatform.IOS)

{

StaticAllocator = StaticAllocatorType.Ansi;

GlobalDefinitions.Add(“FORCE_ANSI_ALLOCATOR=1”);

}

Show more lines

  1. Perform a full clean rebuild:
  • Delete Binaries/ and Intermediate/
  • Clear remote Mac build intermediates
  1. Package and deploy to an iPad running iOS / iPadOS 26.2 using Xcode 16.2.
  2. Launch the app.
  3. Press Begin Scan / start the AR session.

Expected Result

  • AR session starts normally.
  • Camera activates.
  • World tracking initializes successfully.

Actual Result

  • App crashes immediately when starting ARWorldTracking.
  • Crash is 100% reproducible on iOS 26.2.

Crash Signature (Key Frames)

queue: com.apple.arkit.stateSerialQueue

signal: SIGABRT

FMallocBinned2::Free

CV3DSLAMConfigCreateFromCameraModel

-[ARWorldTrackingOptions createSLAMConfig:calibration:]

-[ARWorldTrackingConfiguration imageSensorSettings]

-[ARWorldTrackingConfiguration createTechniques:]

-[ARSession _updateSessionWithConfiguration:options:]

Unreal aborts after detecting an invalid free during AppleCV3D SLAM configuration creation.

Additional Notes

  • The crash occurs only when starting ARWorldTracking.
  • The application launches and runs normally prior to starting the AR session.
  • Both:
    • StaticAllocator = StaticAllocatorType.Ansi
    • FORCE_ANSI_ALLOCATOR=1

are confirmed active, yet the crash still routes through FMallocBinned2::Free, indicating the allocator is not the root cause.

  • The same project and engine build do not crash on iOS 26.0 or 26.1.
  • Disabling scene depth and segmentation reduces ARKit feature usage but does not consistently prevent the crash.
  • Orientation‑only AR sessions appear to avoid this code path, further isolating the issue to SLAM initialization.

Impact

  • All ARWorldTracking‑based iOS applications built with UE 5.7 are blocked on iOS 26.2.
  • Teams are currently forced to pin devices and packaging machines to iOS 26.1 as a containment strategy.
  • This impacts demos, internal testing, and production readiness.

Conclusion

This appears to be a regression in iOS 26.2 affecting ARKit SLAM / AppleCV3D memory handling.

Unreal correctly detects the invalid memory free and aborts, but the issue originates inside Apple frameworks.

The previously suggested ANSI allocator fix does not resolve the crash, even when using Xcode 16.2.

Requesting guidance on:

  • Whether Epic is tracking this as an engine issue or Apple regression
  • Any known engine‑side mitigation
  • Whether an Apple radar already exists for this behavior

Crash logs are attached and additional repro artifacts can be provided if required.

[Attachment Removed]

[Attachment Removed]

sorry for the extra replies, it seems i can only attach one file at a time? Just want to make sure we are sharing this info.

[Attachment Removed]

Hi Stephane,

Thank you for your support here,

Would you be able to give me some steps on how to check/track this information?

[Attachment Removed]