Custom content entity route or url alias
I think you can do this with the pathauto (path alias?) module.  Go to the Admin -> Config -> Search / Metadata -> URL Aliases.  In the settings tab, enable your custom entity type.

When you edit them, you should have a URL field added.  You can also use the patterns to define default paths if you want.

I did a quick test with an ECK custom entity and it worked.