title: Can one create an ARFaceGeometry instance with raw vertices instead of blendShapes, like ARSession does when run with ARFaceTrackingConfiguration?
body: <p>ARFaceGeometry has an initialization method for an array of blendShapes, but how would one create this object with an array of ARFaceGeometry vertices?</p>
  
  <p>In Apple's <a href="https://developer.apple.com/documentation/arkit/creating_face_based_ar_experiences" rel="nofollow noreferrer">Creating Face-Based AR Experiences</a> the ViewController is passed an ARFaceTrackingConfiguration instance and so the ARSession appears to create an ARFaceAnchor instance and keep it updated with the face tracked by the TrueDepth Camera. This can be clearly seen in the ARSession's delegate's renderer method <code>renderer(_ renderer: SCNSceneRenderer, didUpdate node: SCNNode, for anchor: ARAnchor)</code> in the VirtualContentUpdater. </p>
  
  <p>As this ARAnchor's ARFaceGeometry is successfully updating to match the current state of the face via <code>virtualFaceNode?.update(withFaceAnchor: faceAnchor)</code> in VirtualContentUpdater and through <code>faceGeometry.update(from: anchor.geometry)</code> in the case of the Mask as the geometry, it must be true that somewhere behind the scenes an ARFaceGeometry instance is getting created or updated from higher resolution data (TD Camera) than blendShapes provide. </p>
  
  <p>Do you know how this is occurring and how I might do this myself, and if not, do you know how I might find the code behind the scenes to dig through and discover how it's being done to use? Is utilizing such non-public parts of the iOS libraries viable?</p>
  
  <p>Sorry, I'm extremely new to swift and the iOS development ecosystem, so I'm not sure where/how to even find the pertinent code, or if it's available. Any thoughts or help is greatly appreciated, thanks so much!</p>