1. Fixed an issue where an atom created without a user interface failed to provide the necessary buttons for replacing Select From Scene signals.
2. Fixed an issue with controller dragging while using modifier keys and moving the player camera. Previously, if you held down a key, such as Shift, to rotate an object controller, moving the character using the WASD keys would not move that controller. Now, you can simultaneously grab, move, and rotate an object.
3. Fixed an issue where the start of a control drag operation would be interrupted if a modifier key was pressed. Previously, if you press left mouse button on the hovered controller then press any modifier key (such as Ctrl, Shift, Alt, Win, Apple) before actual dragging started (you did not move mouse far enough), hovered controller would be discarded. Now, a controller prepared for dragging will no longer be deselected.
4. Added the ability to change distance while dragging controller. By holding down the Alt key (default) and moving cursor vertically, you can move the object you are dragging closer to or further away from the camera.
5. Added Cycle handles mode, similar to Toggle. Pressing the hotkey will change the handles mode between None/Position/Rotation.
MouseControl:
Fixed bug when you deleting selected object with hotkey:
- Previously you could see it's name near the mouse cursor until move it to other controller.
- When object is deleting with active SelectFromSceneMode causing script to stuck, it is resetting now.
AutoUnfocusInputField:
Fixed bug with clearing focus of other widgets. Now it is working on current frame.
- Do not process mouse logic (hovering, selecting, start dragging) when any modifier key is holding (control, shift, alt, windows, command, apple)
- Allows you to use modifier+click combinations in other plugins.
- DisableNavigationLookOnGUIPress script is disabled by default, due conflicts with other plugins which changing GlobalSceneOptions.singleton.disableNavigation variable, like Keybindings and Embody.
- More clean internal ui logic
- Optimized and moved displaying hovered object name logic (Not every frame, now only when changed) into new separated script HoveredObjectNameDisplay
- Help text - Hovered controller's name is showing as help text at left of main HUD.
- Mouse cursor text with various settings:
- Font size
- Under cursor Y offset - Display text under mouse cursor with offset by Y coordinate.
- Above cursor Y offset - If displayed text moves lower than the edge of the screen, it will be displayed above mouse cursor.
- Text padding
- Background color and alpha
- Text color and alpha
- Renamed all "handler" to "handle" to be more correct with pivot and axes. Check your saved settings, seems it needs to be configured again
- Fixed error when SuperController.GetAllFreeControllers() contains null items (Deleting CUA with Stopper.CUAControllers plugin).
- Fixed handles visibility in Hold Mode while InputField is active.
- Removed forgotten log on Empty selection.
- Removed changing selected controller scale, moved to other plugin.
Replaced Dictionary.Get method to fix "does not contain definition method" error which appears for someone.
Separated the main script into several independent systems, mostly for setup different script call order.
Script List:
- MouseControl - main script which controlling new custom mouse control.
- Handle Axis Mode - new script for custom gizmo/handles (you can disable it if you using some special script for handles).
- GlobalAxisMode.
- 3 different Handlers Modes: Hold, Press, Toggle. (Check them all and choose which one is more comfortable. Also change hotkeys, they are can be better)
- In GlobalAxisMode resetting rotation after dragging is finished.
- AutoUnfocusInputField - fix InputField issue, which blocking keyboard input.
- Disable Navigation Look On GUI Press - press and move Right and Middle mouse buttons on GUI do not move mouse look.
- ScriptExecutionOrder fixing problem with skipping one frame check.
Added custom implementation for methods like "Select...FromScene":
- Replaced standard button callbacks with custom ones.
- Selectors of PhysicsObjects are not GameObject, just lists in code and overlay Draw.
- PhysicsObject's sphere selector is following RigidBody's position, default spheres don't.
- Unfortunately can't modify PossesAndAlignHead because it is calling method HeadPossess, which is private.
- Deselect hotkey cancels SelectFromSceneMode.
Small fixes:
- Trying to implement feature to run script when VR is active and Desktop mode is inactive (need testing).
- GrabPoint's lines draw enabled.
- Fixed bug when script did not start when controllers are disabled until user changed mode (Toggle controllers, Toggle FreeMode, Select from scene, etc).
- Fixed the bottom panel's text under "Highlighted (C to Cycle Stack)", now hovered controller's or rigid body's name will be written there too.
![]()
- Nearest distance decreased (before 4, after 2)
- Fixed bug with AutoUnfocusInputField null exception
- Custom implementation of "Cycle through nearest controllers" like default one C button.
- Removed forgotten Log triggered by Deselect hotkey.
Fixed hotkeys:
Before update hotkeys can be triggered when you entering text in an InputField.
Auto unfocus InputField:
By default, when you finish writing text in an input field by Enter, the system still have this field focused and blocking default keyboard control.
And I made standalone plugin for this feature.
Disable camera rotation on GUI:
Plugin is disabling default navigation (camera rotation and panning by mouse) if user pressed on GUI by right or middle mouse button.