title: how to fix "THREE.Object3D.add: object not an instance of THREE.Object3D." error on OBJLoader
body: <p>I'm trying to add controllers in my VR scene, following this example "<a href="https://threejsfundamentals.org/threejs/lessons/threejs-webvr-point-to-select.html" rel="nofollow noreferrer">https://threejsfundamentals.org/threejs/lessons/threejs-webvr-point-to-select.html</a>". I wanted to replace the line pointers with OBJ models that I've found, but it seems that it keeps loading for some reason or it loads nothing.</p>
  
  <pre><code> ...
   var gun = new OBJLoader();
   gun.load('models/CA-87.obj');
  
   this.controllers = [];
    ...
   for (let i = 0; i &lt; 2; ++i) {
   const controller = renderer.vr.getController(i);
   //controller.addEventListener('select', selectListener);
   //controller.addEventListener('selectstart', selectListener);
   //controller.addEventListener('selectend', endListener); 
   scene.add(controller);
  
   controller.add(gun);
  
   this.controllers.push({controller, gun});
                    }
   ...
  </code></pre>
  
  <p>The errors that I get are these 
  "THREE.Object3D.add: object not an instance of THREE.Object3D. > Object { manager: {…}, materials: null }". I expected to see the models in the scene and follow the movement of the actual vive controllers that I use, but they won't show up.</p>