ParticleEmitterComponent Position Offset Issue After iOS 26.1 Update – Seeking Solutions & Workarounds

Problem Summary

After upgrading to iOS 26.1 and 26.2, I'm experiencing a particle positioning bug in RealityKit where ParticleEmitterComponent particles render at an incorrect offset relative to their parent entity. This behavior does not occur on iOS 18.6.2 or earlier versions, suggesting a regression introduced in the newer OS builds.

Environment Details

Operating System: iOS 26.1 & iOS 26.2

Framework: RealityKit

Xcode Version: 16.2 (16C5032a)

Expected vs. Actual Behavior

Expected: Particles should render at the position of the entity to which the ParticleEmitterComponent is attached, matching the behavior on iOS 18.6.2 and earlier.

Actual: Particles appear away from their parent entity, creating a visual misalignment that breaks the intended AR experience.

Steps to Reproduce

Create or open an AR application with RealityKit that uses particle components

Attach a ParticleEmitterComponent to an entity via a custom system

Run the application on iOS 26.1 or iOS 26.2

Observe that particles render at an offset position away from the entity

Minimal Code Example

Here's the setup from my test case:

Custom Component & System:


struct SparkleComponent4: Component {}

class SparkleSystem4: System {
    static let query = EntityQuery(where: .has(SparkleComponent4.self))
    
    required init(scene: Scene) {}
    
    func update(context: SceneUpdateContext) {
        for entity in context.scene.performQuery(Self.query) {
            // Only add once
            if entity.components.has(ParticleEmitterComponent.self) { continue }
            
            var newEmitter = ParticleEmitterComponent()
            newEmitter.mainEmitter.color = .constant(.single(.red))
            entity.components.set(newEmitter)
        }
    }
}

AR Setup:

let material = SimpleMaterial(color: .gray, roughness: 0.15, isMetallic: true)
let model = Entity()

model.components.set(ModelComponent(mesh: boxMesh, materials: [material]))
model.components.set(SparkleComponent4())
model.position = [0, 0.05, 0]
model.name = "MyCube"

let anchor = AnchorEntity(.plane(.horizontal, classification: .any, minimumBounds: [0.2, 0.2]))
anchor.addChild(model)
arView.scene.addAnchor(anchor)

Questions for the Community

  • Has anyone else encountered this particle positioning issue after updating to iOS 26.1/26.2?

  • Are there known workarounds or configuration changes to ParticleEmitterComponent that restore correct positioning?

  • Is this a confirmed bug, or could there be a change in coordinate system handling or transform inheritance that I'm missing?

Additional Information

  • I've already submitted this issue via Feedback Assistant(FB21346746)
Answered by DTS Engineer in 885351022

Thank you for filing a bug report. Looking at your bug, it remains open and has been assigned to an engineer for investigation. Please continue testing your software in new system software updates and beta releases as they become available, and please update the status of your bug whenever you do a new test. See https://developer.apple.com/download/ for the most recent beta releases.

@KickStartAi — please file your own feedback report at https://feedbackassistant.apple.com with a sample project that demonstrates the issue, and reference FB21346746 in the description. Separate reports from different developers help engineering prioritize fixes. Post your feedback number here so we can track it.

I am experiencing same issue on my end, has anyone found a solution for this?

Device: iPhone 17 Pro OS: 26.3.1 Symptom: particles appear tied to device pose at world-anchor stabilization, not at subsequent AnchorEntity(world:) hit spawns

On iPhone 17 Pro with iOS 26.3.1, ParticleEmitterComponent impact VFX appear visually rooted near the device / the world pose from when tracking stabilized, not at the intended world-space hit, even though the host entity hierarchy is correct: we parent clones under ground_anchor with convert(position:from: nil) from world hits, and runtime logs show holderOriginWorld matches requestedWorldPos with worldPosErrM = 0, so this is not an app-side anchor math bug. particlesInheritTransform = true (Apple’s suggested workaround) does not fix the visible misplacement. This matches the ParticleEmitterComponent / transform regression discussed around iOS 26.1+ (e.g. forum thread / FB21346746). We’re looking for confirmation, workarounds, or a fix timeline from Apple Engineering.

Thank you for filing a bug report. Looking at your bug, it remains open and has been assigned to an engineer for investigation. Please continue testing your software in new system software updates and beta releases as they become available, and please update the status of your bug whenever you do a new test. See https://developer.apple.com/download/ for the most recent beta releases.

@KickStartAi — please file your own feedback report at https://feedbackassistant.apple.com with a sample project that demonstrates the issue, and reference FB21346746 in the description. Separate reports from different developers help engineering prioritize fixes. Post your feedback number here so we can track it.

ParticleEmitterComponent Position Offset Issue After iOS 26.1 Update – Seeking Solutions & Workarounds
 
 
Q