I won’t kid you, the learning curve on Epicor’s Configurator is a little steep.
But once you have the basics down, making “as step above basic” configurators is pretty straight forward.
I find the hardest part with designing configurators, is knowing when to stop (i.e. “feature creep”). Both in features of a specific configurator, and when two configurators should be used instead of one (“these products are so similar …”)