+4
Postponed

Problem with Unit search on Linux

Hogni Gylfason 11 months ago updated by rbz 2 months ago 7

Problem:

Unit search box does not receive keyboard input, either due to focus problems or other, making search non-functional.

I'm entering text here and no characters appear in the search box.

Platform: Arch Linux 241, kernel 5.0.7, Gnome display manager 3.20-3.32, Nvidia 1070GTX, Intel i7 8th gen. Also reproduced on 2 other PCs running different setups.

Alternatives tested:

Also tried on unity 2019.1, tested different window managers (KDE, xfce) and another Linux distribution (Ubuntu 18.04).

P.S. I realize that Linux is not an officially supported Unity version and totally understand if this is not a valid issue. This works very well on Windows but as our entire backend is Linux based it is far more convenient for us to work on Linux than Windows. If this can be fixed it would be awesome, and if any further information or testing is needed I'll be happy to assist.

Bolt Version:
1.4.2
Unity Version:
2018.3.13f1
Platform(s):
Scripting Backend:
.NET Version (API Compatibility Level):
+1
Pending Review

Hi Högni, thanks for the report.

I remember having a similar issue reported back in the very early days, but I believe I had fixed it.

I don't have a Linux testing environment set up, so I unfortunately can't iterate on a fix quickly. I would advise you to try some edits and build from source, but that's not going to be easy on Linux, as the projects were setup for Visual Studio on Windows.

Basically, we use an internal Unity method to force keyboard focus on the fuzzy finder (ShowAssDropDownWithKeyboardFocus, LudiqGUIUtility.cs:950). Maybe using another variation or flags in ShowAsDropDown would fix it.

To be very candid, I'll leave this bug report open for when I have more free time, but I can't afford the time to install Linux and test it right now, I apologize.

It is of course entirely up to you which platform you find worth supporting and I'm not here to complain that Bolt doesn't work under Linux - but what I am complaining about is that you didn't advertise Bolt as "Windows and Mac only" on your Website. I bought Bolt in good faith that it would work under Linux.

I can confirm this. It seems that Bolt's search box is not capturing the

keyboard focus when creating a new node. I'm running Unity 2019.2.11f1, Bolt_1_4_9_NET4, Linux Mint

Mate 19.1 on a Razor Blade 15", GF 1070maxQ, 32gb ram, i7 6-core...I've

also tried an older 2018 lts version of Unity - same result

+1

Had a poke into this issue today - Jan 1 is boring - and changed 

// Assets/Bolt Dev/Ludiq.Core/Editor/Interface/LudiqGUIUtility.cs:974
var PopupMenuWithKeyboardFocus = Enum.ToObject(ShowModeType, 3); // Was 6

This changes the type from ShowMode.AuxWindow to ShowMode.Utility, and so far seems to work without issue, aside from some slowdown of the search (symptom of working with source version?).

Anyway, building the dynamic libs themselves correctly is a bit of a hassle, so if you want to build a release with that change, I can test it out on Linux. That is if it doesn't regress something on the Windows side of things - I can't test that.

Bolt Version: Source

Unity Version: 2019.2.12f1

Scripting backend: Net Standard 2.0

Linux stuff: 5.4.6-2-MANJARO / nVidia gtx 2080 @ driver 435x / Gnome 3.32 / Intel 9750

I also had a look around older versions of the UnityEditor dynamic lib and found that the ShowMode enum members have changed, both in order and number.

Thank you Hogni. Your solution worked for me.
I'm on Linux Mint 19.3 and Unity 2019.3.0f3.

Steps I followed:
- Imported last unitypackage
- Extracted content of folder "Package" from the zip file to a "Ludiq" folder on my Unity Project
- Changed the aforementioned line

// Ludiq/Ludiq.Core/Editor/Interface/LudiqGUIUtility.cs:974
var PopupMenuWithKeyboardFocus = Enum.ToObject(ShowModeType, 3); // Was 6

Please Ludiq, fix this officially. Thank you guys.