# Making instances of an imported mesh

**URL:** <https://forum.babylonjs.com/t/making-instances-of-an-imported-mesh/8316>\
**Category:** Questions\
**Created:** [January 30, 2020, 10:44am UTC](https://forum.babylonjs.com/t/making-instances-of-an-imported-mesh/8316 "2020-01-30T10:44:21Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Stephen](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/stephen/32/7585_2.png) [@Stephen](https://forum.babylonjs.com/u/Stephen)\
**Post date:** [January 30, 2020, 10:44am UTC](https://forum.babylonjs.com/t/making-instances-of-an-imported-mesh/8316/1 "2020-01-30T10:44:21Z")

</div>

Hello.  
I’m trying to create instances of a mesh I imported.  
On my local project I’m successfully importing a mesh that was made in blender, but when I try to create instances of it nothing happens.  
The mesh is really simple and similar to a block and I’ll need to display hundreds of them at once which is why the instancing is critical for our project.  
The objects do get created and I can print them out to the console, but the mesh is not being displayed.

I made a playground where you can see this behavior.  
I cannot create instances of the rabbit mesh just like I can’t create instances of my own mesh in my local project.  
The tree mesh and simple blocks work just fine on both the playground and my local project.

[https://playground.babylonjs.com/#UB332R#2](https://playground.babylonjs.com/#UB332R#2)

Are there certain criteria for a mesh to be able to be made an instance of?

---

<div class="post-metadata">

**Author:** ![RaananW](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/raananw/32/28955_2.png) [@RaananW](https://forum.babylonjs.com/u/RaananW)\
**Post date:** [January 30, 2020, 11:44am UTC](https://forum.babylonjs.com/t/making-instances-of-an-imported-mesh/8316/2 "2020-01-30T11:44:09Z")

</div>

Hi Stephan,

You just need to create an instance from the right mesh (which is not always the first in the array). It all depends on the file you are loading:

[https://playground.babylonjs.com/#UB332R#3](https://playground.babylonjs.com/#UB332R#3)

---

<div class="post-metadata">

**Author:** ![JohnK](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/johnk/32/26764_2.png) [@JohnK](https://forum.babylonjs.com/u/JohnK)\
**Post date:** [January 30, 2020, 1:21pm UTC](https://forum.babylonjs.com/t/making-instances-of-an-imported-mesh/8316/3 "2020-01-30T13:21:18Z")

</div>

Removed boxes and scaled rabbit to make instances of imported more obvious.

---

<div class="post-metadata">

**Author:** ![Wingnut](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/wingnut/32/53_2.png) [@Wingnut](https://forum.babylonjs.com/u/Wingnut)\
**Post date:** [January 30, 2020, 1:39pm UTC](https://forum.babylonjs.com/t/making-instances-of-an-imported-mesh/8316/4 "2020-01-30T13:39:56Z")

</div>

Hi gang. There’s [mesh.instantiateHierarchy()](https://doc.babylonjs.com/api/classes/babylon.mesh#instantiatehierarchy) too… [https://www.babylonjs-playground.com/#5NIBE1#10](https://www.babylonjs-playground.com/#5NIBE1#10)

I don’t know much about it, but it sounds like a “tree-walking instantiator”… which somehow sounds important. 🙂 It might be used mostly for root-less models… not sure.

---

<div class="post-metadata">

**Author:** ![bghgary](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/bghgary/32/48532_2.png) [@bghgary](https://forum.babylonjs.com/u/bghgary)\
**Post date:** [January 30, 2020, 5:52pm UTC](https://forum.babylonjs.com/t/making-instances-of-an-imported-mesh/8316/5 "2020-01-30T17:52:06Z")

</div>

If you use loadAssetContainer, you can use the new function that @deltakosh added [`instantiateModelsToScene`](https://doc.babylonjs.com/how_to/how_to_use_assetcontainer#duplicating-the-models) to duplicate all of the loaded models. This will duplicate skeletons, animation groups, etc. so that you can animate the duplicates separately.

---

<div class="post-metadata">

**Author:** ![Stephen](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/stephen/32/7585_2.png) [@Stephen](https://forum.babylonjs.com/u/Stephen)\
**Post date:** [January 31, 2020, 3:33am UTC](https://forum.babylonjs.com/t/making-instances-of-an-imported-mesh/8316/6 "2020-01-31T03:33:10Z")

</div>

Thank you @RaananW @JohnK @Wingnut @bghgary all of your posts made me understand what is going on better.

Using the second mesh from the array solved my issue like @RaananW suggested.  
I’ll look more into mesh `instantiateHierarchy()` and the `LoadAssetContainer` as well 🙂

Seeing how supportive this community and devs are makes me really excited to dive deeper into babylon. Hopefully I’ll also be able to also help someone down the road.
