En este tutorial, presento otra forma de pasar datos a los materiales: a través de un SceneUniformBuffer personalizado.
El tutorial muestra un caso mínimo: pasar un único valor float. Y un caso más complejo: pasar una DataTable.
El segundo caso muestra el valor concreto de este enfoque: la posibilidad de indexar información como si fuera un array.
Esto es algo que la colección de parámetros de material no puede hacer.
https://dev.epicgames.com/community/learning/tutorials/E8v2/unreal-engine-como-pasar-datos-a-los-materiales-personalizando-el-sceneuniformbuffer