Все верно говорите! Наверное нужно перебрать все объекты в сцене, а потом подставляя имя объекта (или его идентификатор) вытаскивать все материалы.
Хотя я почти уверен, что можно вытащить все материалы без привязки к объектам. Ведь при импортировании в сцену одних материалов из другого blend-файла такая функция доступна. Но в Вашем случае просто набор материалов без привязки к объекту не нужен, поэтому нужно явно указать, какой материал какому объекту принадлежит.