I am leaning toward autoload too although it would be nice to keep the flexibility to not autoload based on an environment variable.
For instance, Azure use that idea when you have both the AzureRM module and new Azure module to avoid the wrong one to be loaded.
it becomes your responsibility to import the proper one.
I could see a
$env:SkipUDEndpointInitiialization=$true as a way to not load automatically everything.
That would both provide users with the ease of use and intuitivity brought by an auto-load feature while leaving the possibility to disable it in case it causes performances issues by loading things you would rather not or potentially for debug purposes in rare occasion (For instance, dashboard is slow, you don’t understand why, disable auto-loading then pin-point that a specific module preloaded through your default profile is imported into UD and causing some mahem).
It might be superfluous… or not.
This should be a single check in any case.
Just a thought.