GithubHelp home page GithubHelp logo

ue4-spacemouse's Introduction

SpaceMouse for Unreal Engine

Not for Twinmotion. DO NOT expect it to work with Twinmotion.

Installation

Pre-Compiled for UE 4.23 .. 4.26.

Demo video: https://youtu.be/owcSTzs8p-8

Download manually for free

Buy it via the Marketplace

If you have a code project just use this repo as submodule

git submodule add https://github.com/microdee/UE4-SpaceMouse.git Plugins/SpaceMouse

Requirements

This plugin works with the HID device directly and doesn't use 3DxWare (official "drivers") SDK or its services (similar how Blender does it). However it has different requirements depending on your operating system:

  • Windows treats space mice as generic HID input devices before 3DxWare is installed. Therefore this plugin works out of the box, without the need for official drivers to be installed.
    • In case you need to install their software package for other applications, make sure to untick their UE4 plugin in the installer.
    • However if you already installed the official drivers with default settings, please remove their UE4 plugin from <path-to-ue4>\Engine\Plugins\3DConnexion before using this one.
    • Supporting official 3DxWare shenanigans are a planned thing now on Windows as well, when the driver is installed.
  • MacOS see below

Config / Usage

You can control any 3D editor viewport (Perspective or Ortho) currently in focus (user needs to click on it first).

Alt text

Transition speed is controllable via the camera speed setting and the camera speed scalar of the viewport. Camera speed can be increased or decreased with configurable buttons on the spacemice. Multiple devices are supported however their data is merged together into a global context.

On default speeds (speed setting = 4) transition velocity is 1000 units/sec by default and rotation speed is 270°/sec by default. Rotation speed is not affected by camera speed settings. You can change these in the Editor Preferences -> Plugins -> SpaceMouse section.

Alt text

Buttons

With Button mappings one can remap some functionalities to SpaceMouse buttons.

  • For the SpaceMouse specific actions listed in here, either explicitly select a button, or press the small "keyboard" icon to learn a button.
  • For further actions go to the Keyboard Shortcuts Editor preferences (link provided) and bind your SpaceMouse buttons as you would bind a regular keyboard shortcut. Using the SECONDARY input binding form is recommended.

Default editor bindings

There's a pre-defined default set of bindings you can activate by clicking on "Configure default button bindings".

  • Under the hood it just assigns sensically the buttons from space mice, to the SECONDARY binding of the equivalent or close-enough™ Unreal Editor input action. It doesn't touch the primary binding which is usually the default keyboard shortcut.
  • In some rare cases there's already something assigned as the SECONDARY binding which will be overwritten by this operation. This is also the reason why I chose to trigger this by the user, and why it's guarded with a confirmation dialog.

Behavior

Active in Background When false, only control the camera of UE4 while the editor is the foreground application.

Camera Behavior Sets the mode of controlling the viewport camera. All behavior controls the viewport camera.

  • Camera Delta with Roll
    • SpaceMouse represents the Delta Movement of the camera in Free-flight/Helicopter fashion. All rotation is in current camera space.
  • Camera Delta with No Roll
    • Same as above but roll is ignored and Yaw is always in World space (instead of current camera space))
  • Orbiting with Roll
    • SpaceMouse represents the Delta Movement of the camera around "the object" OR the Delta movement of "the object" in front of the camera. The pivot of orbiting is either surface point in the center of the viewport, or a fixed distance if set in the settings.
  • Orbiting with No Roll
    • Same as above but roll is ignored and Yaw is always in World space (instead of current camera space))

Orbiting

Orbiting Moves/Rotates Object When true, SpaceMouse represents the Delta movement of "the object" in front of the camera (meaning axes are inverted)

Orbiting at Fixed Pivot Distance When enabled, sets a fixed distance for the orbiting mode in UE4 units (usually cm).

Orbiting Line Trace Length is the maximum possible radius of the orbiting behavior in UE4 units (usually cm).

Orthographic viewports

Camera controls are slightly different when controlling an Orthographic viewport (Top/Bottom, Left/Right, Front/Rear). Rotation is disabled, and the SpaceMouse is used only to pan on the selected plane and zoom.

Ortho Zoom Speed An arbitrary multiplier of the Zoom speed while insdide an Orthographic viewport. Negative numbers reverse the direction of zooming.

OrthoPanningPlane Select the plane of the device (2 axes) which will control the panning motion inside an Orthographic viewport.

  • Lateral Is Zoom, Vertical Is Up: Move puck orthogonal to the plane of the Monitor to move around, Push Forward / Pull Backward to zoom.
  • Lateral Is Up, Vertical Is Zoom: Move puck orthogonal to the plane of the Desk to move around, Push Down / Pull Up to zoom.

Axis configuration

Axis mappings are conversions between the space of spacemice and the space of UE4. You can invert rotations and translations here by flipping the sign. The default values are my subjective preferences (as you can see in the coordinate system image above).

Rotation/Translation Curve are defining the 0..1 curvature from resting state to fully pushed/pulled state of the SpaceMouse puck. Dead-zone, clamping, exponent or other less useful transformations can be expressed with this. Default is 0..1 linear curve, which means no effect.

Misc

Display Debug Information prints HID data onto the viewport. You don't need to change Max Hid Read Operations Per Frame. Just ignore it.

Report bugs

Have any feedback or ideas? Go to Discussions!

UE4 forum (please prefer Github Discussions)

More info

Major changes from version 1.2

The structure of SpaceMouse preferences has changed significantly. Upon updating from prior versions (<= 1.1.x) you might need to re-configure the plugin. Don't worry though, the button binding UX has been improved significantly.

Major changes from version 1.1

Upon updating from prior versions (<= 1.0.x pre-marketplace) please delete both HIDUE and SpaceMouse plugins from your Engine or Project plugins folder!

  1. Editor settings is moved to Plugins -> SpaceMouse to follow conventions
  2. HIDUE is now demoted to a module instead of an entire plugin
  3. This repository now only contains the plugin itself which you can also directly submodule now in your code projects if you wish.

Build a release

If for any reason you cannot use this plugin as a submodule and you want to make a pre-built release to be an engine plugin, then work with the official test project and see the build instructions there.

Build a release for Linux

To make a pre-built release for Linux, read the Linux Build Guide.

Note on macOS support

3DConnexion claims to have Mac support for their official plugin now. In light of that Mac support is no longer persued and if you want to use your Space Mouse on Mac with Unreal Engine you should install their official plugin. This plugin keeps support for Windows and Linux (reportedly).

Known issues:

  • "Focus selected" is broken while this plugin is loaded
    • FIXED
  • "Piloting" is not working with the SpaceMouse
    • FIXED
  • Upon exiting the editor the engine crashes. I know why it does that but I didn't figure it out quite yet how to prevent it.
    • FIXED
  • Jumping forward periodically when leaning / going forward with the camera
    • TL;DR: Open 3DxWare per-application settings and disable scroll-wheel emulation (disable tilt axis) (per-application settings are opened by the Menu button or bottom left button on your SpaceMouse by default)
    • See issue
  • If you install or update 3DxWare with their new plugin (TDxUnrealEditor), and you had this plugin before, you might experience undefined interaction glitches.
    • Remove either this or the 3DConnexion plugin (TDxUnrealEditor) according to your preference.

Known nuances

  • Only free-fly mode is supported and every orbiting perspective viewport in focus is forced to be free-fly while any spacemice operates on them.
    • Now multiple camera behaviors are implemented
  • Camera roll is not reset when one tries to navigate viewport with traditional methods
    • There's a mappable button now to reset roll
    • There are camera behaviors now which should not introduce roll
    • In case the SpaceMouse becomes unavailable Maya style Alt + Right-drag dollying resets camera roll

Credits

  • HIDAPI
  • Gabor Papp for initially investigating macOS support
  • From UE4 forums:
    • enzo_molinari for the plugin icon
    • adlord for testing with wireless devices
    • mrboni for testing with discontinued SpacePilot Pro

ue4-spacemouse's People

Contributors

dkingalpha avatar eotsn avatar gaborpapp avatar microdee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ue4-spacemouse's Issues

Tips for compiling for custom UE builds

Hello,
Great work. Just wondering if we could get a few tips from @microdee or the community as to compile and use this for custom UE builds. We're forced into a custom build which is causing incompatibilities with our plugins.

Precompiles compiled for incorrect version

4.23, 4.21 compiled for wrong version

4.22 and 4.24 tested fine

I use all 4 regularly - thanks for the plugin :)

image

All 4 are added to engine same way, in /Engine/Plugins/

If possible, early 5.2 please

Hello! Hoping you are playing with Unreal 5.2 and have a working plugin just waiting to go.
Fingers crossed for an early 5.2 plugin

Thank you

Missing Modules in Unreal Engine 5.3

**The following modules are missing or built with a different engine version:

HIDUE
SpaceMouseReader
SpaceMouseRuntime
SpaceMouseEditor

Engine modules cannot be compiled at runtime. Please build through your IDE.**

I have VS 2022 installed and the Spacemouse plugin worked fine in my earlier UE 5.0.3 installation. I've downloaded the 5.3 compiled version of the plugin but now it has these missing modules.

4.27 HIDUE module missing

Hey it was bugging me as well, but "EnableByDefault": true didn't do anything.

due to issues with the HIDUE module

what do you mean by that? can you please elaborate those issues on 4.27 (maybe in a separate issue)?

Originally posted by @microdee in #53 (comment)

Request: Please add Linux support

Currently, the code does not compile on Linux. In this case Arch/Manjaro. Pretty sure i already checked it on Debian/Ubuntu/Mint too.

Unless i am mistaken, it should technically be able to be made to work on Linux. Correct?

Tilting SpaceMouse tilts *and* zooms in-and-out. How to turn off zoom effect?

Hello! The only trouble I'm having is with the title above. For example, when I tilt the mouse to look at my object from above, it simultaneously zooms out by some set amount continuously throughout tilt input, resulting in this cumbersome motion of tilt, zoom back in, tilt to destination, zoom back in, etc. etc.

I'm not certain which setting I need to change or how they really interact. I use the mouse for Sketchup and Twinmotion without issue, so this is a first.

Thank you!

Project compile error with prebuilt installed UE5.0

CompilerResultsLog: ERROR: Expecting to find a type to be declared in a module rules named 'HIDUE' in UE5Rules, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null. This type must derive from the 'ModuleRules' type defined by Unreal Build Tool

Just pressed the compile button in UE5 on a basically empty project, and that was the output.

Thank you

leap motion version?

This approach would work great with a leap motion controller / or web cam to capture hand gestures? Imagine if you could record your camera sequences by making L-shapes with your thumb and fingers to frame up shots? Pinching to grab and rotate?

Fails to compile/launch in certain circumstances with plugin active

fails with the following messages when selecting
Launch-Desktop:

ProcessResult.StdOut: LogPluginManager: Error: Unable to load plugin 'SpaceMouse'. Aborting.
Log.WriteException: ERROR: Client exited with error code: 1
PackagingResults: Error: Launch failed! Unknown Error

When selecting
File-Package Project-Windows:
It does not fail

Losing axis mappings in Play and Packaging

Warning, a bit of messiness here. With SpaceMouse 1.2.6 loaded in UE 5.0.1 I'm losing axis mappings in Play mode and in packaged game, but all behavior in Editor is expected. In a new game with Starter Content nothing works in Play mode. With 3dX loaded instead, everything works in Play except no up/down movement. For starters, is this expected behavior, if so, what am I missing in setup?

In my project however, I had a coder take over, he (unwittingly?) enabled both 3dXUnreal and SpaceMouse plugins, then added this node structure to the VR_Character to get expected behavior in Play mode, but in the packaged game I lose pitch and yaw:
Axis_Mappings

Here's a table that records the settings and behaviors for both plugins, individually and together. It doesn't show what I just described with both plugins enabled, but yes, what a mess. Many thanks if you can assist.

hidapi usage collision

If other plugin is using hidapi as well, the plugins building later will fail compiling for packaged/standalone game.

Solution: write an UE4 wrapper plugin for hidapi

macOS Support

Hello,
I wonder if it is possible to use this plugin on macOS Catalina. I tried with engine 4.23.1.
Plugin shows up in the plugin menu but does not work.

Thanks a lot.

Could not find definition for module 'HIDUE'

I'm compiling from source against the UE5-main branch after including the repo in my project in Plugins/SpaceMouse.

I get an error when building from Visual Studio: Could not find definition for module 'HIDUE', (referenced via default plugins -> SpaceMouse.uplugin).

I tried removing the references to it in the uplugin file and in the SpaceMouseReader.Build.cs and recompiled, but rain into more errors in SpaceMouse\Source\SpaceMouseReader\Private\DebugInfoPrinter.cpp: missing hidapi.h and
SpaceMouse\Source\SpaceMouseReader\Public\SmUeVersion.h: missing Launch/Resources/Version.h.

Static Mesh editor is bonkers

it's borked.
Original post:
"if you open a single mesh, that particular workspace has severe jitter when orbiting around Y axis again. This jitter is like a self cancelling oscillation, effectively rendering it usless in this workspace."

5.2 RUNUAT with Vs 2019 on this plugin

Is it possible to just RUNUAT with the new 5.2 to generate your plugin, assuming vs 2019 is installed, not VS 2020? I ve domne this in the past with 5.0 and 5.1 releases.

UE5: Compilation issue

I get the following error whenever SpaceMouse is enabled, do the files need to be read-write or another issue?

image

Speed Controls Not Working on Spacemouse - Can I map to keyboard instead

Hi,

Thanks for creating this. I purchased through the marketplace. I am trying to change the speed so I can get used to navigation but the spacemouse buttons bring up their own shortcuts instead - even after removing the Unreal folder from the 3DConnexion install. If there's no way to correct that, could I map to a keyboard shortcut or control manually instaed?

Slight Jittering / Forces Real-Time to stay on

I'm getting slight jittering in 4.25.4, it's as if a good amount of the time it's fighting to constantly reset the roll and keep the horizon straight.

Also, I'm sure the answer to this is "this is how it needs to be to work this way" but moving the spacemouse prevents me from navigating while Real-Time preview is turned off--moving the mouse always reactivates real-time. Just confirming this is a feature/requirement, and not a bug.

Lock input to editor in focus

I often run multiple instances of Unreal simultaneously. When doing this the 3D puck controls all instances, not the one in focus. Request to have SpaceMouse only activate when the window is in focus. Thanks for a fantastic plugin otherwise.

Missing HIDUE?

After placing the SpaceMouse folder in the UE4 plugins folder, upon launching UE I got an error message:

"Plugin 'SpaceMouse' failed to load because module 'HIDUE' could not be found. Please ensure the plugin is properly installed, otherwise consider desabling the plugin for this project."

I'm new to installing GITHUB plugins and just starting with UE4, but I use my SpaceMouse constantly with Blender, so I really want to get this set up. I checked the C:\Program Files\Epic Games\UE_4.26\Engine\Plugins\UE4-SpaceMouse-master\Source\HIDUE folder, and found it to be empty.

How to resolve this?

4.25.2 new project error

Creating a new project fails to compile with the error on startup, and you are unable to continue.

Running I:/Engine/UE_4.25/Engine/Binaries/DotNET/UnrealBuildTool.exe Development Win64 -Project="I:/PerforceTest/FPS/FPS.uproject" -TargetType=Editor -Progress -NoEngineChanges -NoHotReloadFromIDE
Creating makefile for FPSEditor (no existing makefile)

ERROR: Expecting to find a type to be declared in a module rules named 'SpaceMouseReader' in UE4Rules, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null. This type must derive from the 'ModuleRules' type defined by Unreal Build Tool.

Bringing up Rider for UE and trying to compile gives the same error.

Existing projects appear to work fine.

Camera Viewport speed relative to distance from object

I'm experimenting with landscapes and open worlds. Is there a way to set either unreal or the spacemouse parameters so the speed is relative to the distance from the object selected (slow for close, fast for distant)? It just seems very slow when high above a landscape and too finicky when I am zoomed in on an object WITHIN the landscape. I have to constantly adjust the speed as I fly through the landscape, to the point where I am close to that Metahuman, the slightest touch of the Spacemouse to Pan jerks the actor out of view.

BTW I use this same mouse in Blender with their built-in driver and there is none of this constant camera speed adjusting equivalent needed no matter what I'm looking at or where I am in 3d space. It just does the right thing.

For instance, this setting in UE sounds like it has SOMETHING to do with what I'm desiring:

bUseDistanceScaledCameraSpeed=True

But i turned this off and on with NO EFFECT on the space mouse.

I'm using these project settings by the way which have served me well on other non-open world projects:

[/Script/SpaceMouse.SpaceMouseConfig]
CameraBehavior=OrbitingNoRoll
MovementSecondsTolerance=1.0
RotationDegreesPerSec=20.000000
PitchAxisMap=(X=0.000000,Y=1.000000,Z=0.000000)
RollAxisMap=(X=0.000000,Y=0.000000,Z=0.000000)
TranslationUnitsPerSec=500.000000
XTranslationAxisMap=(X=0.000000,Y=1.000000,Z=0.000000)
YTranslationAxisMap=(X=-1.000000,Y=0.000000,Z=0.000000)
ZTranslationAxisMap=(X=0.000000,Y=0.000000,Z=1.000000)
SpaceMouse_UE_Issue
YawAxisMap=(X=0.000000,Y=0.000000,Z=-1.000000)
MaxHidReadOperationsPerFrame=2048
DisplayDebugInformation=False
ActiveInBackground=False
IncreaseSpeedButton=SpaceMouseUE_KeyF2

I have your code and can build it now, but you would have to guide me in what to modify or change.

Viewport "Jumping" when panning around the Y axis

I have a strange Issue with the Plugin:
When i am panning the editor viewport around the Y-axis, the position of it jumps around.
Here is a video showing the issue: YT
All other axis move without anny issues.

I reinstalled UE 2.25.3 and have only the HIDUE and SpaceMouse (1.0.0 release) plugin activated.
Other applications do run without this problems.

I use the SpaceMouse Pro.

Does anyone have an idea what could be the reason for this strange jumps?

ERROR: Missing precompiled manifest for 'SpaceMouseReader'

Apologies if this is a newbie error but I'm just starting out with UE

I have a project which is just the default FPS template (added a few things to it for learning), I also have the wonderful UE4-SpaceMouse enabled. This is running 4.25.0, on Packaging on Windows I get

UATHelper: Packaging (Windows (64-bit)):   ERROR: Missing precompiled manifest for 'SpaceMouseReader'. This module was most likely not flagged for being included in a precompiled build - set 'PrecompileForTargets = PrecompileTargetsType.Any;' in SpaceMouseReader.build.cs to override.
PackagingResults: Error: Missing precompiled manifest for 'SpaceMouseReader'. This module was most likely not flagged for being included in a precompiled build - set 'PrecompileForTargets = PrecompileTargetsType.Any;' in SpaceMouseReader.build.cs to override.

How do I fix this, is it an issue with my system or with SpaceMouse? Thanks so much

UE5 Support

Navigating UE5 early access is incredibly painful without my Space Mouse :) Reports I've heard are that plugins are porting without issues - can we get a port?

Plugin fails to launch on 4.25

SpaceMouse-0.8.1-UE_4.25 (as well as the preview6 version)
fails to launch with UE Version: 4.25.0-13144385+++UE4+Release-4.25
Tried placing in either the Engine/Plugins folder or the Project/Plugins
In the Engine/Plugins the error is:
"Plugin 'SpaceMouse' failed to load because module 'SpaceMouseReader' could not be found. Please ensure the plugin is properly installed..."
In the Project/Plugins the error is:
The following modules are missing or built with a different engine version:
SpaceMouseReader
SpaceMouseRuntime
SpaceMouse

  • It suggests to rebuild them and then fails to compile.
    UE fails to start in both scenarios.
    I'm on Windows 10.
    Thanks!

Compile error during Linux build in Docker container.

Hello, I'm new to Unreal, trying to build this plugin.

  • I'm using the guide on building for linux here.
  • I'm building in the official docker container
    • docker run --rm -ti -v "<UE4-SpaceMouseDir>:/UE4-SpaceMouse" ghcr.io/epicgames/unreal-engine:dev-5.3.2
    • I tried 5.3.1 and 5.2 as well
  • Once in container I'm installing libudev-dev + extras
    • sudo apt update; sudo apt install libudev-dev g++ gdb make ninja-build rsync zip gcc libhidapi-dev -y
  • Then I'm running the build script
    • ~/UnrealEngine/Engine/Build/BatchFiles/RunUAT.sh BuildPlugin -Plugin="/UE4-SpaceMouse/SpaceMouse.uplugin" -Package="/UE4-SpaceMouse/Out/Linux"
  • I'm on nixos, thus building in Docker. @eotsn if you have a way out of this grave of mine, that would be appreciated.

I'm however running into the following identical error for [2/9] Compile Module.HIDUE.cpp, [3/9] Compile Module.SpaceMouseRuntime.cpp, [4/9] Compile Module.SpaceMouseReader.cpp, and [7/9] Compile Module.SpaceMouseEditor.cpp. I've only included the first for brevity.

I'm out of my depth with DotNet and unreal building in general. I could imagine this being a dependency issue maybe? I saw that one user installed VS 2022 workloads, don't have that in linux though (please correct me if I'm wrong and I'll give it a shot). Asking in case anyone had wisdom on this.

ue4@dockerew:~/UnrealEngine$ ~/UnrealEngine/Engine/Build/BatchFiles/RunUAT.sh BuildPlugin -Plugin="/UE4-SpaceMouse/SpaceMouse.uplugin" -Package="/UE4-SpaceMouse/Out/Linux" 
                                                                                                                                                                                
Running AutomationTool...                                                                                                                                                       
                                                                                                                                                                                
Fixing inconsistent case in filenames.                                                                                                                                          
Setting up Mono                                                                                                                                                                 
Setting up bundled DotNet SDK                                                                                                                                                   
Start UAT Interactively: dotnet AutomationTool.dll BuildPlugin -Plugin=/UE4-SpaceMouse/SpaceMouse.uplugin -Package=/UE4-SpaceMouse/Out/Linux                                    
/home/ue4/UnrealEngine/Engine/Build/BatchFiles/Linux/../../../Binaries/ThirdParty/DotNet/6.0.302/linux/dotnet                                                                   
Starting AutomationTool...                                                                                                                                                      
Parsing command line: BuildPlugin -Plugin=/UE4-SpaceMouse/SpaceMouse.uplugin -Package=/UE4-SpaceMouse/Out/Linux                                                                 
Initializing script modules...                                                                                                                                                  
Total script module initialization time: 0.15 s.                                                                                                                                
Executing commands...                                                                                                                                                           
Copying 161 file(s) using max 64 thread(s)                                                                                                                                      
Reading plugin from /UE4-SpaceMouse/Out/Linux/HostProject/Plugins/SpaceMouse/SpaceMouse.uplugin...                                                                              
Building plugin for host platforms: Linux                                                                                                                                       
Running: /home/ue4/UnrealEngine/Engine/Binaries/ThirdParty/DotNet/6.0.302/linux/dotnet "/home/ue4/UnrealEngine/Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.dll" Unrea
lEditor Linux Development -Project="/UE4-SpaceMouse/Out/Linux/HostProject/HostProject.uproject" -plugin="/UE4-SpaceMouse/Out/Linux/HostProject/Plugins/SpaceMouse/SpaceMouse.upl
ugin" -noubtmakefiles -manifest="/UE4-SpaceMouse/Out/Linux/HostProject/Saved/Manifest-UnrealEditor-Linux-Development.xml" -nohotreload -log="/home/ue4/Library/Logs/Unreal Engin
e/LocalBuildLogs/UBT-UnrealEditor-Linux-Development.txt"                                                                                                                        
Log file: /home/ue4/Library/Logs/Unreal Engine/LocalBuildLogs/UBT-UnrealEditor-Linux-Development.txt                                                                            
/UE4-SpaceMouse/Out/Linux/HostProject/Plugins/SpaceMouse/Source/HIDUE/HIDUE.Build.cs: warning: Referenced directory '/usr/lib/aarch64-linux-gnu' does not exist.                
/UE4-SpaceMouse/Out/Linux/HostProject/Plugins/SpaceMouse/Source/HIDUE/HIDUE.Build.cs: warning: Referenced directory '/usr/local/lib/x86_64-linux-gnu' does not exist.           
/UE4-SpaceMouse/Out/Linux/HostProject/Plugins/SpaceMouse/Source/HIDUE/HIDUE.Build.cs: warning: Referenced directory '/usr/local/lib/aarch64-linux-gnu' does not exist.          
Parsing headers for UnrealEditor                                                                                                                                                
  Running Internal UnrealHeaderTool /UE4-SpaceMouse/Out/Linux/HostProject/HostProject.uproject /UE4-SpaceMouse/Out/Linux/HostProject/Intermediate/Build/Linux/UnrealEditor/Devel
opment/UnrealEditor.uhtmanifest -WarningsAsErrors -installed                                                                                                                    
Total of 16 written                                                                                                                                                     
Reflection code generated for UnrealEditor in 3.8202378 seconds                                                                                                         
------- Build details --------                                                                                                                                          
Using toolchain located at '/home/ue4/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v22_clang-16.0.6-centos7/x86_64-unknown-linux-gnu'.           
Using clang (/home/ue4/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v22_clang-16.0.6-centos7/x86_64-unknown-linux-gnu/bin/clang++) version 'clang version
 16.0.6 (github.com/llvm/llvm-project 7cbf1a2591520c2491aa35339f227775f4d3adf6)                                                                                         
Target: x86_64-unknown-linux-gnu                                                                                                                                        
Thread model: posix                                                                                                                                                     
InstalledDir: /home/ue4/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v22_clang-16.0.6-centos7/x86_64-unknown-linux-gnu/bin' (string), 16 (major), 0 (mino
r), 6 (patch)                                                                                                                                                           
Using bundled libc++ standard C++ library.                                                                                                                              
Using lld linker                                                                                                                                                        
Using llvm-ar (/home/ue4/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v22_clang-16.0.6-centos7/x86_64-unknown-linux-gnu/bin/llvm-ar) version 'LLVM (http:
//llvm.org/):                                                                                                                                                           
  LLVM version 16.0.6                                                                                                                                                   
  Optimized build. (string)'                                                                                                                                            
Using fast way to relink  circularly dependent libraries (no FixDeps).                                                                                                  
------------------------------                                                                                                                                          
Writing manifest to /UE4-SpaceMouse/Out/Linux/HostProject/Saved/Manifest-UnrealEditor-Linux-Development.xml                                                              
Building UnrealEditor...                                                                                                                                                
Determining max actions to execute in parallel (8 physical cores, 8 logical cores)                                                                                    
  Executing up to 16 processes, one per physical core                                                                                                                   
  Requested 1.5 GB memory per action, 5 GB available: limiting max parallel actions to 3                                                                             
------ Building 9 action(s) started ------                                                                                                                              
[1/9] Compile Module.HIDUE.cpp                                                                                                                                          
In file included from /UE4-SpaceMouse/Out/Linux/HostProject/Plugins/SpaceMouse/Intermediate/Build/Linux/x64/UnrealEditor/Development/HIDUE/Module.HIDUE.cpp:2:          
In file included from /UE4-SpaceMouse/Out/Linux/HostProject/Plugins/SpaceMouse/Source/HIDUE/Private/HIDUE.cpp:4:                                                         
In file included from /UE4-SpaceMouse/Out/Linux/HostProject/Plugins/SpaceMouse/Source/HIDUE/Public/HIDUE.h:6:                                                            
In file included from Runtime/Core/Public/Modules/ModuleManager.h:5:                                                                                                    
In file included from Runtime/Core/Public/Containers/Array.h:7:                                                                                                         
In file included from Runtime/Core/Public/Misc/ReverseIterate.h:6:                                                                                                      
In file included from ThirdParty/Unix/LibCxx/include/c++/v1/iterator:684:                                                                                               
In file included from ThirdParty/Unix/LibCxx/include/c++/v1/__iterator/common_iterator.h:22:                                                                             
In file included from ThirdParty/Unix/LibCxx/include/c++/v1/variant:218:                                                                                                
In file included from ThirdParty/Unix/LibCxx/include/c++/v1/tuple:227:                                                                                                  
In file included from ThirdParty/Unix/LibCxx/include/c++/v1/utility:251:                                                                                                
In file included from ThirdParty/Unix/LibCxx/include/c++/v1/compare:145:                                                                                                
In file included from ThirdParty/Unix/LibCxx/include/c++/v1/__compare/compare_partial_order_fallback.h:13:                                                               
In file included from ThirdParty/Unix/LibCxx/include/c++/v1/__compare/partial_order.h:14:                                                                               
In file included from ThirdParty/Unix/LibCxx/include/c++/v1/__compare/weak_order.h:14:                                                                                  
In file included from ThirdParty/Unix/LibCxx/include/c++/v1/__compare/strong_order.h:18:                                                                                
/home/ue4/UnrealEngine/Engine/Source/ThirdParty/Unix/LibCxx/include/c++/v1/cmath:544:5: error: use of undeclared identifier '__promote'                                  
    __promote<_A1, _A2, _A3>                                                                                                                                            
    ^                                                                                                                                                                   
/home/ue4/UnrealEngine/Engine/Source/ThirdParty/Unix/LibCxx/include/c++/v1/cmath:548:22: error: no template named '__promote'                                            
    typedef typename __promote<_A1, _A2, _A3>::type __result_type;                                                                                                      
                     ^                                                                                                                                                  
/home/ue4/UnrealEngine/Engine/Source/ThirdParty/Unix/LibCxx/include/c++/v1/cmath:552:12: error: call to 'hypot' is ambiguous                                             
    return hypot((__result_type)__lcpp_x, (__result_type)__lcpp_y, (__result_type)__lcpp_z);                                                                             
           ^~~~~                                                                                                                                                        
/home/ue4/UnrealEngine/Engine/Source/ThirdParty/Unix/LibCxx/include/c++/v1/cmath:533:46: note: candidate function                                                        
inline _LIBCPP_INLINE_VISIBILITY float       hypot(       float __x,       float __y,       float __z ) { return sqrt(__x*__x + __y*__y + __z*__z); }                   
                                             ^                                                                                                                          
/home/ue4/UnrealEngine/Engine/Source/ThirdParty/Unix/LibCxx/include/c++/v1/cmath:534:46: note: candidate function                                                        
inline _LIBCPP_INLINE_VISIBILITY double      hypot(      double __x,      double __y,      double __z ) { return sqrt(__x*__x + __y*__y + __z*__z); }                   
                                             ^                                                                                                                          
/home/ue4/UnrealEngine/Engine/Source/ThirdParty/Unix/LibCxx/include/c++/v1/cmath:535:46: note: candidate function                                                        
inline _LIBCPP_INLINE_VISIBILITY long double hypot( long double __x, long double __y, long double __z ) { return sqrt(__x*__x + __y*__y + __z*__z); }                   

...
shortened
...

3 errors generated.
[8/9] Link (lld) libUnrealEditor-SpaceMouseEditor.so cancelled
[9/9] WriteMetadata UnrealEditor.target cancelled
Took 21.967016599999997s to run dotnet, ExitCode=6
UnrealBuildTool failed. See log for more details. (/home/ue4/Library/Logs/Unreal Engine/LocalBuildLogs/UBT-UnrealEditor-Linux-Development.txt)
AutomationTool executed for 0h 0m 22s
AutomationTool exiting with ExitCode=6 (6)
RunUAT ERROR: AutomationTool was unable to run successfully. Exited with code: 6

Viewport picking offset after moving

I discovered strange behavior:
When i am selecting an object in the editor and move the viewport using the 3D Mouse, the picking of the Gizmo will become offset to the same position on the screen.

Here is a video showcasing it: YT

The setup is the same like in #12

No LICENSE.txt file

I am not a lawyer, however, if I am not mistaken, in a project that lacks a license, all rights are reserved by default.
(see the following:)
https://opensource.stackexchange.com/questions/1720/what-can-i-assume-if-a-publicly-published-project-has-no-license
https://github.com/github/choosealicense.com/issues/196
https://choosealicense.com/no-permission/
https://www.quora.com/What-if-I-dont-include-a-license-in-my-public-GitHub-project-Can-people-do-anything-with-my-code
https://stackoverflow.com/questions/16933385/can-my-public-github-project-not-be-open-source
In order to rectify this problem, a license file needs to be added to the project (I personally recommend MIT, but any kind will do.) (Keep up the great work.)

Lost X,Y,Z panning functionality after altering 3dxWare configuration for UE4Editor

Initially a comment on another issue... but I believe it deserves its own.

Issue

When I tried to disable 'conflicting mappings' mentioned here by going into properties on the 3dx Connection Properties, I completely lost panning and translation functionality in UE4Editor. I guess this is because 3dx finally set some particular mappings for UE4Editor which didn't exist?

To Reproduce

  1. Install 3dxware
  2. Install UE4-SpaceMouse plugin to Unreal Editor v 4.25.4
  3. Activate UE4-SpaceMouse plugin
  4. Use SpaceMouse as expected in Unreal Editor
  5. Set application-specific properties for SpaceMouse in Unreal Editor
  6. Observe the bug (X,Y,Z panning no longer responding)

Expected Behaviour

Spacemouse should continue to work... especially after reverting 3dxware settings and restarting the Unreal Editor with Spacemouse plugin

Attempted Fixes

I deleted the file C:\Users<username>\AppData\Roaming\3Dconnexion\3DxWare\Cfg\UE4Editor.xml and still, panning (x, y and z axes) has not returned. I removed and then reactivated the spacemouse plugin, and still no functionality. Weird, because it all worked when first installed.

Configuration

Unreal Editor v4.25.4
SpaceMouse plugin: SpaceMouse-1.0.1-UE_4.25.7z
3DxWare64_v10-7-0_r3248

V3DCMD code and HID button discrepancy

It looks like the V3DCMD command codes do not exactly match the HID button ID's, so per device data is needed to determine the proper mapping function.

Spacemouse always in RealTime mode (slows editor)

Hi,

If we disable the "Real Time" check in the editor, your plug-in turns it ON again every time we navigate. This heavily affects performance while working. Please disable it by default and let us change it from the editor only.

Also the Menu and Fit buttons change camera speed, very annoying.

Thanks

** Using UE4 4.26.1

Compat. with 5.3 - When?

Sorry for asking since 5.3 was just released today. I want to avoid my extra effort to rebuild this myself.

Enable by default

Hi,

I would like this plugin to automatically start with any new project I create. I normally edit the uplugin file and add the option

"EnabledByDefault": true,

I tried with this plugin on version 4.26 and this works fine, but with the 4.27 preview it fails due to issues with the HIDUE module

Would it be possible, or is there some underlying reason this wont work?

Thanks,

Adrian.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.