I have been grappling with an issue while using Three.js. I am trying to pass a custom attribute to my shader, which needs frequent updates. The shader is set as a ShaderMaterial for my mesh. However, the problem I am facing is that Three.js has recently changed how it handles attributes. Instead of being in the material, they are now linked to the geometry. Unfortunately, it seems that a standard geometry cannot accommodate custom attributes, leaving me in a bit of a predicament as I had been relying on its convenience. While attempting to use BufferGeometry, I encountered confusion and frustration when trying to correctly map my constantly updating UVs. Is there an alternative approach to BufferGeometry for implementing custom attributes? Or perhaps a less preferable method to accurately apply my UVs? And why can't a regular geometry support custom attributes?