unitycoder / UnityLauncherPro

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

macOS version #109

Open muveso opened 1 year ago

muveso commented 1 year ago

are you planning to release a macOS version of the launcher?

Mythique commented 1 year ago

I'm also interested about this, so I looked around a bit.

The project is currently on .NET Framework, which is not compatible with Mac OS. To make it work it would need to be ported to .NET 6 or 7.

The process to port a WPF app to .NET is described here. I ran the analysis tool, there's not a lot to fix before upgrading :

[21:30:19 INF] Diagnostic UA0013_M with the message Windows Forms Deprecated controls : DataGrid needs to be replaced with DataGridView. For more details see - https://docs.microsoft.com/en-us/dotnet/core/compatibility/winforms#removed-controls generated

[21:30:19 WRN] Default font in Windows Forms has been changed from Microsoft Sans Serif to Seg Segoe UI, in order to change the default font use the API - Application.SetDefaultFont(Font font). For more details see here - https://devblogs.microsoft.com/dotnet/whats-new-in-windows-forms-in-net-6-0-preview-5/#application-wide-default-font.

With that said I guess there is custom code that is specifically designed to work on Windows and would need to be refactored to work on Mac OS.

And I personally don't know if there are any downside to port a project from .NET Framework to .NET.

unitycoder commented 1 year ago

definitely interested, but haven't found suitable frameworks.. havent seen that ^ one before, i'll check it.

here's some previous notes: https://github.com/unitycoder/UnityLauncherPro/issues/25

for mac, the native launcher is best apparently: https://github.com/unitycoder/UnityLauncherPro/wiki/Alternative-Launchers

*AI suggested running it using Mono, is that even possible? image

muveso commented 1 year ago

I believe macOS support is possible with little changes, if you have time to do that, it would be very good

unitycoder commented 1 year ago

Tested running that wpf upgrader (on cloned foldeR), at least application still runs. (after disabled some parts that need upgrading).

how to make macos builds from this .net7 project though? or need to build in mac itself i guess?

muveso commented 1 year ago

we can help you to build mac app I guess

Mythique commented 1 year ago

Unfortunately I think that WPF is strictly for Windows, and we would need to use another UI framework such as Avalionia or Microsoft MAUI.

muveso commented 1 year ago

I believe Avalonia works better. Actually, Unity Hub sucks. it takes almost 20-30 seconds to open up and it is honestly not functional.

If I didn't see UnityLauncherPro, I would develop such a launcher tool. But UnityLauncherPro is a handy and well-planned tool; if you have time to upgrade it to use both platforms, it will be tremendous.

If you don't have much time, I will develop from starch.

unitycoder commented 1 year ago

Yeah, unlikely that i'll do full conversion at the moment, Avalonia looks interesting (and it says unity plastic client was done with it too), going to test it briefly still. MAUI ive tried but it was quite limited and slow itself..

muveso commented 1 year ago

okay if you have a branch to work in Avalonia, I can support you anytime you want.

unitycoder commented 1 year ago

@muveso added you here https://github.com/unitycoder/UnityLauncherAvalonia so can play freely with the project there

muveso commented 1 year ago

okay thank you, I will manage it

unitycoder commented 1 year ago

something new here

We enable WPF apps to run on macOS and Linux with our Fork of WPF, which allows us to maintain API compatibility.

https://avaloniaui.net/XPF

unitycoder commented 8 months ago

new one (but requires js+rust programming probably..) https://tauri.app/

hifron commented 6 months ago

what about making a Crowdfunding Request on some platform(like kickstarter.com) or even make some suggestion and be somehow related with Unity corporation to get(but also set) some request how could Unity be?

And if Unity is multi-platform, launcher could be also but also from command-line and that is area where Unity suffers and shouldn't

unitycoder commented 6 months ago

yup, unity uses Electron for their Hub, so its easier to make multiplatform.. but its slow & bloated then.

UnityHubNative would be the way to go, it should be fast everywhere.. (uses c++ which i don't really know about) https://github.com/unitycoder/UnityLauncherPro/wiki/Alternative-Launchers

i've tested those previously mentioned frameworks in earlier messages, all of them are worse than WPF.. so still waiting for better solutions.

Tauri was bit promising, but cannot make simple single exe builds with it.. https://github.com/unitycoder/tauri_ulaunch/issues/2#issuecomment-1976413051 test project: https://github.com/unitycoder/tauri_ulaunch

Mythique commented 6 months ago

I've seen dear imgui used to make multiplatform gui. There seem to be a wrapper for C#. As far as I know it only handles UI, so you would have to make different OS calls for each platform you want to support.

It's quite different form WPF, and I don't know if it'd be worth it to change this to make your software multiplatform.

unitycoder commented 6 months ago

does imgui has all the necessary components (alternatives to: datagrids, dropdowns, other regular UI elements) ?

the avalonia XPF, never received trial access yet.. so that one is still potential.

Mythique commented 6 months ago

You could try the dear imgui demo. I've seen dropdowns, datagrids and more ui stuff.

It's code oriented though, so you wouldn't have a visual editor (unless someone made a tool for this).

I wanted to ask for the xpf but I saw the price... Not sure if it could be free for an open source project? If price isn't an issue, it could be better than rewriting the ui indeed.

unitycoder commented 2 months ago

bumped into another framework, https://platform.uno/

https://platform.uno/docs/articles/wpf-migration.html but i don't understand why "migrating WPF apps to web".. i don't want web, just multiplatform desktop..

Mythique commented 2 months ago

PanGui could also be something interesting. It's not released yet though.