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
- Perform a full clean rebuild:
- Delete Binaries/ and Intermediate/
- Clear remote Mac build intermediates
- Package and deploy to an iPad running iOS / iPadOS 26.2 using Xcode 16.2.
- Launch the app.
- 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]