Using cubemap in custom shader breaks the whole project

i am writing a custom shader. the concept it’s simple. it loads the vertex normal from the mesh, and a cubemap, and return the unlit color of the cubemap based on the normal. this concept works in unity. and i am trying the same thing in playcanvas. but then it triggers a lot of problems.

first, i call “material.setParameter(‘uCubemap’, this.cubemap);” to insert the cubemap to my material. it doesn’t work, the material is using the world cubemap.
second, it corrupts the standard shader (it can’t do reflection unless i manually insert the refelction cubemap), and this behaviour breaks every materials in the project.
third, the problems remain even if i remove my script and shaders

Did anyone experience similar problems before?

Edit
i see that this.app.scene._skyboxPrefiltered is an array with 6 undefined, and it’s supposed to be 6 textures.