custom material manage there own uniform and shaders