title: RealityKit – Getting runtime warning when placing a model in ARView
body: <p>I get the following warning during runtime when I tap to load the model in ARView: Warning (secondary thread): in AppendProperty at line 859 of sdf/path.cpp -- Can only append a property 'preliminary:anchoring:type' to a prim path (/)
  Warning (secondary thread): in AppendProperty at line 859 of sdf/path.cpp -- Can only append a property 'triggers' to a prim path (/)</p>
  <p>Anyone have insights why I'm getting this warning? All of the logic is in my ViewController:</p>
  <pre><code>import UIKit
  import ARKit
  import RealityKit
  import SwiftUI
  import Combine
  
  class ViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate  {
  
  private var modelArray: [String] = []
  var selectedModel = &quot;&quot;
  
  @IBOutlet weak var arView: ARView!
  
  @IBOutlet weak var modelCollectionView: UICollectionView!
  
  override func viewDidAppear(_ animated: Bool) {
      super.viewDidAppear(animated)
      
      loadModelName()
      arView.session.delegate = self
      setupARView()
      //modelArray = getModelNames()
      self.modelCollectionView.dataSource = self
      self.modelCollectionView.delegate = self
      arView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(handleTap(recognizer:))))
      
  }
   // Dynamically load available files from directory
  func loadModelName() {
      
      let fm = FileManager.default
      let path = Bundle.main.resourcePath!
  
      do {
          let items = try fm.contentsOfDirectory(atPath: path)
  
          for item in items where item.hasSuffix(&quot;usdz&quot;){
              let modelName = item.replacingOccurrences(of: &quot;.usdz&quot;, with: &quot;&quot;)
              print(&quot;Found \(item)&quot;)
              modelArray.append(modelName)
          }
      } catch {
          // failed to read directory – bad permissions, perhaps?
      }
  }
  
  func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -&gt; Int {
      return modelArray.count
  }
  func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -&gt; UICollectionViewCell {
          let cell = collectionView.dequeueReusableCell(withReuseIdentifier: &quot;item&quot;, for: indexPath) as! itemCell
          cell.itemImage.image = UIImage(named: self.modelArray[indexPath.row])
          return cell
  }
  
  func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
      let cell = collectionView.cellForItem(at: indexPath)
      cell?.backgroundColor = UIColor.lightGray
      selectedModel = self.modelArray[indexPath.row] + &quot;.usdz&quot;
  }
  func collectionView(_ collectionView: UICollectionView, didDeselectItemAt indexPath: IndexPath) {
      let cell = collectionView.cellForItem(at: indexPath)
      cell?.backgroundColor = UIColor.white
  }
  
  
  
   func setupARView() {
          arView.automaticallyConfigureSession = false
          let configuration  = ARWorldTrackingConfiguration()
          configuration.planeDetection = [.horizontal, .vertical]
          configuration.environmentTexturing = .automatic
          if ARWorldTrackingConfiguration.supportsSceneReconstruction(.mesh) {
              print(&quot;scene reconstruction supported&quot;)
              configuration.sceneReconstruction = .mesh
              configuration.sceneReconstruction = .meshWithClassification
              arView.debugOptions.insert(.showSceneUnderstanding)
          }
          arView.session.run(configuration)
          print(&quot;plane detection&quot;)
      }
  
  
  
   @objc
      func handleTap(recognizer: UITapGestureRecognizer) {
          //gets the location in the arView
          let location = recognizer.location(in: arView)
          //grab the results of the tap -location: the location of the tap -allowing: tye type of surface to calculate the location -alignment: the type of surface
          let reults = arView.raycast(from: location, allowing: .estimatedPlane, alignment: .any)
          
      //check to see if the raycast returned a result, did it actually hit a horizontal surface
      if let firstResult = reults.first {
          //returns an array of all the things it finds so grab the first
          //in order to add objects into a scene, we have to add objects to anchors, firstResult.worldTransform - add anchor at the orientation and position
          print(&quot;tap gesture recognized&quot;)
          print(&quot;DEBUG: the model is \(selectedModel)&quot;)
          let anchor = ARAnchor(name: selectedModel, transform: firstResult.worldTransform)
          arView.session.add(anchor: anchor)
      } else {
          print(&quot;object placement failed, couldn't find surface&quot;)
      } 
  }
  
  func placeObject(named entityName: String, for anchor: ARAnchor) {
  let entity = try! ModelEntity.loadModel(named: entityName)
  
      //add collision to have physiscs for manipulations
      entity.generateCollisionShapes(recursive: true)
      arView.installGestures([.rotation, .translation], for: entity)
  
      //create an anchor entity
      let anchorEntity = AnchorEntity(anchor: anchor)
      // add the entity to anchor
      anchorEntity.addChild(entity.clone(recursive: true))
      //add the anchor with the entity to the scene
      arView.scene.addAnchor(anchorEntity)
  }
  }
  
  extension ViewController: ARSessionDelegate {
      func session(_ session: ARSession, didAdd anchors: [ARAnchor]) {
          for anchor in anchors {
              if let anchorName = anchor.name, anchorName == selectedModel {
                  placeObject(named: anchorName, for: anchor)
              }
          }
      }
  }
  </code></pre>