there’s a node called something like heightmap from normal, it takes a texture object but you could probably open the function up and copy whatever it’s doing.
also worldposition has 3 components and uv’s expect 2 so you need a component mask, seems odd that it isn’t giving you an error. maybe the scale uv function has a mask in it?