Subsurface scattering

gl_MultiTexCoord0 and gl_TextureMatrix aren’t available in WebGL/OpenGL ES2.0 from what I know, not sure how you would rewrite this to calculate tex coords differently.

For lighting/shadows etc the easiest way is to override Playcanvas shader chunks instead of building a shader from scratch. That way you get for free compatibility with existing materials, texture maps, lighting etc. It requires some effort to get it right and learn how to plugin your code, but ultimately it pays off.