I’m observing some very strange sweep behavior on mac/iOS that I’m not seeing on PC. Around certain geometry, I’m getting collisions that don’t match the collision on the actual mesh (simple or complex), resulting in the camera spring-arm jittering (due to `USpringArmComponent::UpdateDesiredArmLocation` reporting a hit at seemingly random times at the border of the mesh).
I tested the same geometry using the same debug traces on PC and mac, and see different results:
See attached mac screengrabs. Using the Chaos Visual Debugger I was able to see the trace, and the reported hit. Seems to clearly not be touching the geometry it is reporting a collision with. Also of note, the inconsistent nature of the collisions - a couple hit, then there are a couple that don’t then a couple that do hit again. This is what is causing the camera spring-arm jitter.
Comparing this to PC, where all the traces behave as expected:
[Image Removed]
If I modify the spring-arm’s trace to use complex collision, these false collisions don’t occur.
Any idea what could be going on here? My guess is there’s some optimization being applied to simplified collision that’s causing false reports of hits. Potentially only happening on mac/iOS due to performance/spec differences, so different defaults being in place? Any recommendation of parameters to tweak or the like? Any further information needed, let me know
Thanks,
Ben
EDIT: I have attached a relevant capture, of just the character’s camera with the offending mesh in a level. For example, see the range between frame 783 and 816 - it occasionally hits the shape (seemingly a cuboid at the end of the stairs/ramp), and sometimes doesn’t
[Attachment Removed]
Steps to Reproduce[Attachment Removed]
Morning Ben, and thank you for your question.
I know there were some issues with one of the SIMD instructions (Fused Add Multiply) which caused divergence in results. I think we changed these at different times, so it could be that. Let me find which CL’s these went into and we can check if that reverts the issue.
Best
Geoff Stacey
Developer Relations
Epic Games
[Attachment Removed]
Hi Ben,
Can try CL 36832186, CL 34206018, CL 33334155 to begin with and let me know if that fixes it up please?
Thanks
Geoff
[Attachment Removed]
Hi Bennac, it could be. Can you try CL 41496021 - and if that doesn’t work - do you know enough to create a small repro in a vanilla version of 5.5 we can use to find the cl?
Geoff
[Attachment Removed]
Hi Bennac,
I’ve taken a look at the CVD you’ve kindly attached - can I check what I should be seeing here?
Geoff
[Attachment Removed]
Thanks Bennac, I can see the issue you mention now. Can you re-upload the example project please - I can’t seem to find it here. Once that is done, I’ll see if I can replicate an earlier version on the PC and see if I can find that fix, and then figure out the Mac equivalent. (If not I’ll go hunting for a Mac user).
Geoff
[Attachment Removed]
Thanks Bennac. Yep that didn’t work at all. I’ve messaged IT to see if they can arrange a Mac platform to be sent across!
Geoff
[Attachment Removed]
Quick update. I have a Macbook on it’s way to me, so should be able to test this at some point next week 
[Attachment Removed]
Hi Bennac,
I have the Mac and have been figuring out how to get UE building (with some help from some colleagues) - it is taking a bit of time though, but I am looking into this still.
Best
Geoff
[Attachment Removed]
Is there something I need to do to get the same behaviour as you had in the trace you sent? There are a large number of line traces in yours (the lines which trace out in 360 degrees and move up like a kind of radar sweep) which I don’t have in my CVD
[Attachment Removed]
Hi Bennac, I’m creating this repro, and there are a number of things which don’t look to be lining up with the CVD trace you sent earlier. I can see there is an offset embedded here somewhere (ie when I try and capture the same positions they end up in very different places) and the actual collision mesh is different in the CVD trace.
Are you able to create a repro where the character is aligned at the start with a collision which will show as inaccurate on the CVD trace please? Otherwise I am just trying to recreate what you can already see.
I’ve managed to get a the Mac all setup, so once we have this, I can bisect and find out where this was altered.
Best
Geoff
[Attachment Removed]
Hi Bennac, I think I have it. Can you try CL 38478294 please?
Best
Geoff
[Attachment Removed]
Thanks Geoff! Yeah, I’ve been testing locally, and I can confirm that it happens in a fresh project in 5.5.4, but not in 5.6.1. The ideal our end would be to know the fix CL(s) and cherry-pick them into our project (I’ve been making a start on this currently). If you are able to find some CLs to try, please let me know!
Cheers,
Ben
[Attachment Removed]
Hi Geoff,
Thanks! Looks like I already have 33334155 and 34206018 in 5.5.4. I tried adding the changes from 36832186 (https://github.com/EpicGames/UnrealEngine/commit/740747130c7db5bef13e825fda9bbad06f49064f), unfortunately it doesn’t look like that’s enough on its own
I can still repro the intense camera spring-arm jitter
[Attachment Removed]
If it helps narrow things down, I tried changing the simple collision on one offending mesh, which stopped it happening for that one (Image 1, with a slightly skewed cuboid shape, replaced with image 2, with a simple box collision, rotated to fit). The “fake reports” of collision above happen above the lower side of the cuboid, so I could easily imagine there’s some issue related to the fact that the convex element has one side higher than the other [Image Removed]
[Attachment Removed]
Hi Geoff, unfortunately, doesn’t look like that CL did the trick either
(https://github.com/EpicGames/UnrealEngine/commit/f52df2f3fd44e65e0d3191f918ecb862407aac77)
Here’s a zip of the basic project based off the third person project, just placing 3 of the static meshes that reliably hit the issue into the world.
I have also attached some footage of hitting the issue at various points in the 3 meshes - seems to be at top of the stairs, the slope, and at various places along the more rough section.
(the version in the zip has the textures removed)
EDIT: Ah, looks like I had some issues with uploading the two files - I have placed them in the original question: “MyProjectOld.zip” is the project on 5.5 that hits the issue, and the “2025-10.…mkv” is the video of the repro
[Attachment Removed]
Hi Geoff,
Thanks for taking a look! So the things to be looking at here are:
- In the attached project (`MyProjectOld`), walking around the 3 meshes, with the camera relatively close to the ground, results in strange sporadic camera collisions. See the attached `2025-10-22 10-55-42.mkv` for what I mean
- In the attached Chaos utrace, see frames 783-816, with `Draw Sweep Queries` on. (Easiest way to navigate to the area is to click on one of the `BP_M2Example_Pla…` entries in the outliner). There is the camera spring-arm sweep that sporadically reports collisions that very clearly don’t overlap with the visited particle shape. As you move along the frames, the camera angle changes, and it’s very confusingly sometimes colliding, and sometimes not. [Image Removed]
I hope this helps! Any further questions, I’m happy to answer
Cheers,
Ben
[Attachment Removed]
Thanks Geoff!
Sure, here is the example project reuploaded. From my experience, I wasn’t able to repro on PC, only on mac (and iOS).
Let me know if there’s any more I can do to help!
Cheers,
Ben
[Attachment Removed]
Hi [mention removed], ah, that screengrab may have been from earlier, from my own project, rather than the test bed. From The `My Project (Old)` project, in the `ThirdPersonMap` map, you can repro the issue by walking so that your camera is near the lip of one of the ramps, and looking up and down. With a combination of moving and looking around, you can find a position where the camera starts to flicker. Once you’re in a position, you should be able to see the effect where moving the camera slowly up causes the camera to flicker due to intermittent collisions.
I tried the repro today, and got the trace showing, without those radar sweep traces. The repro is otherwise exactly the same (moving between the game frames at the point of the camera jitter, you can see that it sometimes collides with the mesh, and sometimes doesn’t, in an inconsistent manner). [Image Removed] [Image Removed]
[Attachment Removed]