Start by creating a general map loading function, use it where ever you load a map, add logic to that function to detect if a uniquemodel file exists for that map. If it doesn't load the map, create a dummy progress bar, then create a file of the uniquemodels currently loaded. Animate the progress bar. Next time the function is called for that map a uniquemodels file will exist, get all the entities loaded, counts the number of unique models, use this when animating a progress bar during this loading stage. The model list file could use the name of the map + "uniquemodels" . Once written the whole process could be automatic for future projects.