I got error messages like below. My Mali GPU is Mali-G78 and it returns 0 at GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS.
The number of vertex shader storage blocks (1) is greater than the maximum number allowed (0)
So this error message is correct. However this feature is very common nowadays. Do you have a plan to support this?
The usual workaround here is to allocate the maximum array size you might need in the UBO, but only partially fill it if you need fewer entries, and pass in the actual element count as another uniform.
You pay a memory footprint overhead, as the extra memory must be allocated, but other than that it behaves exactly the same as an SSBO.