unitycoder / UnityLauncherPro

Unity Hub Alternative Project Launcher with time saving features!
MIT License
489 stars 56 forks source link

Not detecting unity 6 installs #166

Closed bugfinders closed 3 weeks ago

bugfinders commented 1 month ago

Unity hub offers 6000.0.20, this offers only upto 18

unitycoder commented 1 month ago

yeah, my list comes from the old unity releases list..

will need to switch into their releases API https://github.com/unitycoder/UnityLauncherPro/issues/136

But the issue is that it only gives 10 releases at a time.. so cannot get full history, so still need to think how i save the older releases and only request new stuff..

Legi428 commented 1 month ago

@unitycoder With the limit parameter you can get up to 25 releases at once. For the rest you can do additional requests using the offset. So something like: 'https://services.api.unity.com/unity/editor/release/v1/releases?limit=25&offset=0' which will give you a total in the response which you can use to do any additional requests. So when total is 70 you have to do 2 more requests: 'https://services.api.unity.com/unity/editor/release/v1/releases?limit=25&offset=25' 'https://services.api.unity.com/unity/editor/release/v1/releases?limit=25&offset=50' I'm not sure if it's implemented like that already, but maybe you can do these async and populate the list as it's ready. Or display all rows (70 in my example) and load the additional content only when the users scrolls past the first 25 or so. Limiting how much is downloaded.

unitycoder commented 1 month ago

Yup, i'll probably just hardcode the current releases history as include file, and then fetch for any new releases and save/cache them locally.. (Since it would take too many requests to get full history from scratch)

Lazy loading on demand would be nice (and might work well enough for most users), but then cannot search or filter versions until enough data is loaded, which could be annoying..

(at least for me, since i often still work with older versions, so i need to find them easily)

Legi428 commented 1 month ago

Yup, i'll probably just hardcode the current releases history as include file, and then fetch for any new releases and save/cache them locally.. (Since it would take too many requests to get full history from scratch)

Lazy loading on demand would be nice (and might work well enough for most users), but then cannot search or filter versions until enough data is loaded, which could be annoying..

(at least for me, since i often still work with older versions, so i need to find them easily)

I picked up the things you mentioned here and implemented it today. It works really well and still offers a full list of editor to install. I think I might it a bit more robust by using model classes as well as changing the way download Urls are found (they are provided by the api as well so the program now fetches it from there rather than looking for it on the website). I hope the changes are the way you'd like them! :) #167

unitycoder commented 3 weeks ago

thanks!