View Issue Details

IDProjectCategoryView StatusLast Update
0004758NoesisGUIUnitypublic2026-08-21 21:05
ReporterXaron Assigned Tojsantos  
PrioritynormalSeverityfeature 
Status assignedResolutionreopened 
Product Version3.2.10 
Target Version4.0.1 
Summary0004758: Multi Display Support
Description

Dear Noesis team,

it would be great to have multi monitor support. The discussion was started here so please check that thread for some details: https://www.noesisengine.com/forums/viewtopic.php?t=1449

Tl;dr:

For Unity multi monitor support means that each display has its own camera. Two cameras each set to a different Display. Our request would be that each has a NoesisView component attached with a simple XAML with a button. Both buttons should be clickable and should highlight when mousing over.

Thank you!
It looks to me like the position sensing logic that picks up what the mouse is over is not sensitive to the Screen/Display.

PlatformAny

Activities

jsantos

jsantos

2026-03-02 14:37

manager   ~0011978

The following patch should fix this issue. Could you please try it out?

NoesisView.cs.patch (892 bytes)   
Index: NoesisView.cs
===================================================================
--- NoesisView.cs	(revision 16730)
+++ NoesisView.cs	(working copy)
@@ -1319,10 +1319,6 @@
     {
       #if ENABLE_LEGACY_INPUT_MANAGER
         Vector3 mousePosition = UnityEngine.Input.mousePosition;
-      #else
-        Vector3 mousePosition = UnityEngine.InputSystem.Mouse.current.position.ReadValue();
-      #endif
-
         Vector3 p = Display.RelativeMouseAt(mousePosition);
 
         if (p == Vector3.zero)
@@ -1332,6 +1328,11 @@
 
         _activeDisplay = (int)p.z;
         return p;
+      #else
+        Vector3 mousePosition = UnityEngine.InputSystem.Mouse.current.position.ReadValue();
+        _activeDisplay = UnityEngine.InputSystem.Mouse.current.displayIndex.value;
+        return mousePosition;
+      #endif
     }
 
     private void UpdateMouse()
NoesisView.cs.patch (892 bytes)   
jsantos

jsantos

2026-03-02 14:38

manager   ~0011979

The implementation of MousePosition should be like this:

    private Vector3 MousePosition()
    {
      #if ENABLE_LEGACY_INPUT_MANAGER
        Vector3 mousePosition = UnityEngine.Input.mousePosition;
        Vector3 p = Display.RelativeMouseAt(mousePosition);

        if (p == Vector3.zero)
        {
            return mousePosition;
        }

        _activeDisplay = (int)p.z;
        return p;
      #else
        Vector3 mousePosition = UnityEngine.InputSystem.Mouse.current.position.ReadValue();
        _activeDisplay = UnityEngine.InputSystem.Mouse.current.displayIndex.value;
        return mousePosition;
      #endif
    }
Xaron

Xaron

2026-03-18 22:07

reporter   ~0012062

Last edited: 2026-03-18 22:13

Hi and sorry for the late feedback.

We did some first tests and it looks promising. But so far it only seems to work in standalone builds which makes it a bit tricky to use for development.

The mouse z is the index of the screen and that doesn't work in the editor.

If you open a second game screen in Unity and set that one to Display 2 the mouse display index (z) will still return Display 1 the entire time.

This would be probably helpful to be added or used to get the right one in editor mode: https://docs.unity3d.com/6000.3/Documentation/ScriptReference/Display-activeEditorGameViewTarget.html

jsantos

jsantos

2026-03-23 12:36

manager   ~0012086

The main issue we have in the editor is that OnGUI is not invoked on secondary displays. The proper solution would be to deprecate OnGUI entirely. This is something we’re considering for Noesis 4.0, but I can provide you with a preview in 3.2 (disabled by default) so you can try it out.

Xaron

Xaron

2026-07-20 23:02

reporter   ~0012448

Last edited: 2026-07-20 23:03

It appears that click events are properly handeled now, we are able to click the buttons and open menus on the second monitor. However mouseover items such as tooltips and style changes appear to only work after an item has been clicked. It also appears to work only for the item that is cliucked. In the attached image the tooltip and red highlight appear only once the button is pressed, and not for any of the other buttons until that particular button is clicked. The Mouseover function appears to persist only while the mouse remains over the item post click.

Xaron

Xaron

2026-07-20 23:03

reporter   ~0012449

image.png (5,077,670 bytes)
Xaron

Xaron

2026-07-22 11:00

reporter   ~0012454

And yes @jsantos, I'd be interested in that preview in 3.2.

jsantos

jsantos

2026-07-22 11:42

manager   ~0012455

Just to confirm, the issues are in the Editor only, right? The runtime always works fine?

Xaron

Xaron

2026-07-22 12:29

reporter   ~0012456

No those issues above are indeed happening in standalone builds.

Xaron

Xaron

2026-08-05 22:09

reporter   ~0012476

About that preview: Is there a way to get hands on it? Thank you!

jsantos

jsantos

2026-08-06 10:34

manager   ~0012477

Hey Xaron, we have been really busy with the imminent release of 4.0.

I will try to find time for this as soon as possible.

jsantos

jsantos

2026-08-21 21:05

manager   ~0012560

I wanted to have this for 4.0, but unfortunately, we didn't have time for it. This will be one of our priorities for 4.0.1.

Thanks for your patience!

Issue History

Date Modified Username Field Change
2026-01-30 15:11 Xaron New Issue
2026-02-05 16:34 jsantos Assigned To => jsantos
2026-02-05 16:34 jsantos Status new => assigned
2026-02-05 16:34 jsantos Target Version => 3.2.12
2026-03-02 14:37 jsantos Note Added: 0011978
2026-03-02 14:37 jsantos File Added: NoesisView.cs.patch
2026-03-02 14:37 jsantos Status assigned => feedback
2026-03-02 14:38 jsantos Note Added: 0011979
2026-03-03 12:50 jsantos Status feedback => resolved
2026-03-03 12:50 jsantos Resolution open => fixed
2026-03-03 12:50 jsantos Fixed in Version => 3.2.12
2026-03-18 22:07 Xaron Status resolved => feedback
2026-03-18 22:07 Xaron Resolution fixed => reopened
2026-03-18 22:07 Xaron Note Added: 0012062
2026-03-18 22:13 Xaron Note Edited: 0012062
2026-03-23 12:32 jsantos Fixed in Version 3.2.12 =>
2026-03-23 12:32 jsantos Target Version 3.2.12 => 3.2.13
2026-03-23 12:36 jsantos Note Added: 0012086
2026-04-27 12:16 jsantos Target Version 3.2.13 => 3.2.14
2026-07-20 23:02 Xaron Note Added: 0012448
2026-07-20 23:02 Xaron Status feedback => assigned
2026-07-20 23:03 Xaron Note Edited: 0012448
2026-07-20 23:03 Xaron Note Added: 0012449
2026-07-20 23:03 Xaron File Added: image.png
2026-07-22 11:00 Xaron Note Added: 0012454
2026-07-22 11:42 jsantos Note Added: 0012455
2026-07-22 11:42 jsantos Status assigned => feedback
2026-07-22 12:29 Xaron Note Added: 0012456
2026-07-22 12:29 Xaron Status feedback => assigned
2026-08-05 22:09 Xaron Note Added: 0012476
2026-08-06 10:34 jsantos Note Added: 0012477
2026-08-21 21:04 jsantos Target Version 3.2.14 => 4.0.1
2026-08-21 21:05 jsantos Note Added: 0012560