# TypeError: vertex.substr is not a function

**URL:** <https://forum.babylonjs.com/t/typeerror-vertex-substr-is-not-a-function/7821>\
**Category:** Questions\
**Tags:** shader\
**Created:** [January 2, 2020, 7:16pm UTC](https://forum.babylonjs.com/t/typeerror-vertex-substr-is-not-a-function/7821 "2020-01-02T19:16:50Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![alekop](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/alekop/32/4380_2.png) [@alekop](https://forum.babylonjs.com/u/alekop)\
**Post date:** [January 2, 2020, 7:16pm UTC](https://forum.babylonjs.com/t/typeerror-vertex-substr-is-not-a-function/7821/1 "2020-01-02T19:16:50Z")

</div>

I am trying to create a custom shader:

```
Effect.ShadersStore['tilemapVertexShader'] = [...].join('\n')
Effect.ShadersStore['tilemapFragmentShader'] = [...].join('\n')
let material = new ShaderMaterial('tileShader', scene,
        {vertext: 'tilemap', fragment: 'tilemap'},
        {attributes: ['position']})

```

But this throws:

```
Uncaught TypeError: vertex.substr is not a function
    at Effect../node_modules/@babylonjs/core/Materials/effect.js.Effect._loadVertexShader (effect.js:431)
    at new Effect (effect.js:257)
    at Engine../node_modules/@babylonjs/core/Engines/engine.js.Engine.createEffect (engine.js:2426)
    at ShaderMaterial../node_modules/@babylonjs/core/Materials/shaderMaterial.js.ShaderMaterial.isReady (shaderMaterial.js:373)
    at GroundMesh../node_modules/@babylonjs/core/Meshes/mesh.js.Mesh.render (mesh.js:1363)
    ...

```

This works in the playground… What am I doing wrong?  
I’m using v4.0.3.

---

<div class="post-metadata">

**Author:** ![Gijs](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/gijs/32/44_2.png) [@Gijs](https://forum.babylonjs.com/u/Gijs)\
**Post date:** [January 2, 2020, 8:40pm UTC](https://forum.babylonjs.com/t/typeerror-vertex-substr-is-not-a-function/7821/2 "2020-01-02T20:40:59Z")

</div>

In your _shaderPath_ object you have `vertext` instead of `vertex`, maybe that’s it?

---

<div class="post-metadata">

**Author:** ![alekop](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/alekop/32/4380_2.png) [@alekop](https://forum.babylonjs.com/u/alekop)\
**Post date:** [January 3, 2020, 11:47pm UTC](https://forum.babylonjs.com/t/typeerror-vertex-substr-is-not-a-function/7821/3 "2020-01-03T23:47:24Z")

</div>

🤦‍♂️ Doh!
