UnityLauncherPro icon indicating copy to clipboard operation
UnityLauncherPro copied to clipboard

macOS version

Open muveso opened this issue 3 years ago • 27 comments

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

muveso avatar Dec 14 '22 01:12 muveso

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.

Mythique avatar Dec 14 '22 02:12 Mythique

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

unitycoder avatar Dec 14 '22 09:12 unitycoder

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

muveso avatar Dec 14 '22 13:12 muveso

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?

unitycoder avatar Dec 14 '22 19:12 unitycoder

we can help you to build mac app I guess

muveso avatar Dec 14 '22 19:12 muveso

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

Mythique avatar Dec 14 '22 20:12 Mythique

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.

muveso avatar Dec 14 '22 22:12 muveso

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..

unitycoder avatar Dec 15 '22 08:12 unitycoder

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

muveso avatar Dec 15 '22 12:12 muveso

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

unitycoder avatar Dec 15 '22 12:12 unitycoder

okay thank you, I will manage it

muveso avatar Dec 15 '22 13:12 muveso

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 avatar Aug 28 '23 07:08 unitycoder

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

unitycoder avatar Feb 09 '24 16:02 unitycoder

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

hifron avatar Apr 25 '24 06:04 hifron

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

unitycoder avatar Apr 25 '24 07:04 unitycoder

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.

Mythique avatar Apr 25 '24 20:04 Mythique

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.

unitycoder avatar Apr 26 '24 04:04 unitycoder

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.

Mythique avatar Apr 26 '24 18:04 Mythique

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..

unitycoder avatar Aug 24 '24 18:08 unitycoder

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

Mythique avatar Aug 25 '24 13:08 Mythique

Avalonia indie is now available... 1000usd Per app, per year subscription : O https://avaloniaui.net/xpf#pricing

unitycoder avatar Oct 24 '24 16:10 unitycoder

WPF means windows forms aka Windows UI which is protected windows technology not available for other platforms like also webview2 is not, but html applications could be made if tech stack is compatible so html desktop multiplatform applications are now possible if decent programmers make them, but FluentUI(and WPF) is not.

hifron avatar Dec 14 '24 11:12 hifron

yes, still looking for perfect platform..

Requirements or Wish List:

  • Fast startup (unlike electron apps)
  • Not browser based (takes so much memory to have full browser embedded and sluggish in general?)
  • Single exe builds would be nice
  • Standard UI components available (buttons, tabs, dropdown menu, datagrid or alternatives, checkboxes etc)
  • Runs in pc, mac, linux
  • Using C#

unitycoder avatar Dec 14 '24 13:12 unitycoder

yes, still looking for perfect platform..是的,仍在寻找完美的平台。

Requirements or Wish List:要求或愿望清单:

  • Fast startup (unlike electron apps)快速启动(与电子应用程序不同)
  • Not browser based (takes so much memory to have full browser embedded and sluggish in general?)不是基于浏览器的(嵌入完整的浏览器会占用太多内存,而且总体来说运行缓慢?)
  • Single exe builds would be nice单个 exe 版本会很好
  • Standard UI components available (buttons, tabs, dropdown menu, datagrid or alternatives, checkboxes etc)可用的标准 UI 组件(按钮、选项卡、下拉菜单、数据网格或替代方案、复选框等)
  • Runs in pc, mac, linux可在 PC、Mac、Linux 上运行
  • Using C#  使用 C#

Is there any progress on the mac version?

feipinxiang avatar Jul 28 '25 03:07 feipinxiang

Is there any progress on the mac version?

No news..

this seemed promising, but too expensive https://github.com/unitycoder/UnityLauncherPro/issues/109#issuecomment-2435795942

*I would estimate that AI can do good enough conversion into some multi-platform sdk within few years : ) /RemindMeIn2Years

unitycoder avatar Jul 28 '25 17:07 unitycoder