I have been using Unity for a long time, from Unity 2018 up to Unity 6.6.
This issue still has not been fixed in the latest version, so I am writing this report out of frustration.
To reproduce this situation, you need at least two monitors. In my case, I am using four monitors configured as a 2x2 NVIDIA Surround display setup.
The problem occurs when opening a right-click context menu in Unity. If the menu contains many items, the menu goes outside the screen, making it impossible to click any of the items. Submenus also appear in incorrect positions, making them completely impossible to access.
When NVIDIA Surround is disabled, the menu is displayed correctly and does not go outside the monitor area. However, when Surround is enabled, the right-click context menu breaks.
Please recheck the code responsible for calculating and generating menu positions.
This bug is extremely frustrating and makes Unity very difficult to use in this environment.
It is unacceptable that this issue is still unresolved and has been left unattended even in the latest Unity 6.6 version.
I am writing this because I can no longer tolerate the issue. Please fix it.
This bug does not occur only in Unity 6.6. It occurs in all older versions as well.
The only exception is the newer menu system with the search feature introduced in Unity 2023, where this specific issue does not appear to happen.
How does it behave there? Does the context menu extend onto another monitor or does it align itself to stay within one monitor?
In case you refer to a dropdown with many items, for instance try making a KeyCode field exposed in the Inspector and then click that, this will always cut off at the bottom of the monitor regardless of whether you have one or several.
It would help to see a screenshot or two.
You have to consider you’re using a non-standard setup which very likely not even 1% of gamers and game developers utilize, much less when it comes to Unity users.
While this is frustrating, it’s also a matter of fact that non-standard setups expose non-standard issues in any application. Few, if any, software companies would invest time (and thus money) to investigate and fix issues only to satisfy a marginal minority of their users while also running at risk of inadvertently introducing an issue for everyone.
I don’t think the “non-standard environment” argument is a valid justification here.
The issue exists because the underlying code is not handling certain conditions correctly. A non-standard setup merely exposes the flaw; it does not create it. If the implementation were robust, the environment itself would not be able to trigger this kind of behavior.
From a software engineering perspective, dismissing a bug simply because it affects a small percentage of users is not a good practice. Bugs that are ignored today because they seem harmless often become the source of larger and more difficult problems later. The fact that most users do not encounter the issue does not mean the issue does not exist.
Of course, priorities and resource constraints are real, and not every bug can be fixed immediately. However, acknowledging a defect and deciding when to address it is very different from dismissing it as a consequence of a user’s environment.
A non-standard environment is often useful because it reveals assumptions and weaknesses in the code that would otherwise remain hidden. In that sense, the environment is not the problem—the implementation is.
It is common practice because it makes a lot of sense from a business perspective and from a software engineering perspective (KISS).
You can of course report it via Help => Report a bug so it goes on record. Personally I wouldn’t expect much of it, it’s likely to get dismissed unless Unity already has plans for a UI overhaul or it aligns with some other fixes in that area that have been piling up and are due for a QOS sprint.
The mindset behind such small details is already dangerous.
That is exactly why Unity has failed to make meaningful progress and remains in a state where it cannot even compete with Unreal.
Even if someone holds that kind of mindset, they should not express it openly. At the very least, they should show an attitude of trying to improve the situation.
Many users have already lost a great deal of trust and affection for Unity, and it is difficult to win that back. If Unity also dismisses the complaints of the users who still use it, then why should anyone continue using Unity at all?
At least Unreal does not behave this way.
I think Unity is already losing in these small details.
To put it simply, the developer who made that menu just lacks the necessary skill.