Support for Space Navigator 3D Mouse?

I’m in 4.21.1, much appreciate assistance. I’ve had no issues on the Windows side, simply placing the SpaceNav folder inside the plugin folder of the project works for me, even across upgrades to the engine. I’m now needing to work on the Mac side, have tried several routes. In 4.21.1, my preference being to begin with most current version, I downloaded from this link, unzipped, and tried simply placing that folder in the plugins folder of the project, no functionality of Space Mouse and in Settings>Plugins>Inputs doesn’t show up. Neither does the project (which calls for this plugin, having been written that way from the PC) alert me on open that I have a missing plugin, do I want to dismiss.

I then tried what appears to be a second scenario working for Danimus 2000 per this post, which involves downloading the SDK from 3dConnexion, these instructions pointing to 3DxWare-SDK_v3-4-0_414759.exe, a Windows file. Since I’m on Mac, I downloaded the Mac OS X SDK, very careful to where the unzipped folder resides within the -master folder> a second -master folder> Source> Third Party folder - 3DxWare SDK lives there. Note, these instruction go off map a bit w.r.t. the name of the folder, the binary for 4.21.1 not having “-master” appended, so my two folders were simply “”. In this second scenario I’m adding the SDK to the picture and placing everything contained in this plugin folder inside UE_4.21>Engine folders, whereby the first scenario only places the plugin inside the plugins folder of the project. Are either of these scenarios appropriate, and if so, depending on what? Is what I’m tracking here with my steps on track?

A third scenario I’ve tried, this coming before moving to 4.21.1, was working with an earlier release of the binary for and following those instructions which involved also placing the SDK inside the engine folder, namely UE_4.20. Though I wasn’t able to get the Space Mouse to affect the camera (but tests fine in 3DConnexion Home tools), I at least did see showing up in Settings>Plugins>Inputs. I tried Disabling, Enabling, restarting each time, but no go on functionality.

I’m reading so many users here clamoring for built-in support of a tool that seems like such a no brainer to productivity, we’re all preaching to the choir, in my case my dependence goes deeper yet. I present to groups on a big screen in 3D these photorealistic scan-based virtual environments, the look of jerky mouse movements and keyboard strokes being a non-starter. And while a gamepad is a big step in the right direction, toward the the ideal of butter smooth, cinematic navigation as people expect from film, the limitation to 2-axis forces viewers out of story whenever a third axis introduces a jerk in the camera. Only the 6-axis Space Mouse supports the kind of camera language you work for as a director of photography in live action. So, and OptimisticMonkey, this community owes you a huge debt of gratitude! It’s so appreciated what you do.

Addendum: Okay, a little step forward, I deleted the 4.21.1 project, launched 4.21.1 and rebuilt from the 4.20 version that had showing up in Settings>Plugins>Inputs, and now at least it shows up in 4.21.1, just doesn’t function - yet. Many thanks for a hand up.

OK people. Here is the answer. Yes their instruction do work but only on NEW PROJECTS while on 4.21.1. If you open an existing 4.20 project on 4.21.1 (converted)… it won’t work.

Thank you for the compiling for 4.21 OptimisticMonkey! You rock!

Anyone used this 3dmouse in a Game ? (Build and working)

Good day anybody get this warning?

D:\UProject\BosporanKingdom\Plugins\Source\.Build.cs: warning: Referenced directory ‘D:\Programms\Epic Games\UE_4.21\Engine\Source\Public’ does not exist.
PackagingResults: Warning: Referenced directory ‘D:\Programms\Epic Games\UE_4.21\Engine\Source\Public’ does not exist.

I think I had such when was cooking or building Project.
Never had chance build Project which is using 3Dconnection :frowning:

I am creator of WMInput Manager → https://www.unrealengine.com/marketp…-input-manager, I can easily make your 3D Mouse get working with plugin i’ve made but first i would need to get one 3d Connexions Space Navigator

@Rapid_Wirehead That would be awesome! I would totally buy plugin if it supported Spacemouse!!! Here is link if you are interested in getting one:

I would need to know, how you would like to use your 3d connexion mouse buttons and axes in viewport. Link you did send to me is base model of 3d connexion, There are also devices with a lot of buttons. "maybe you would like to map them to editor actions for your needs, yes & axes to use to controll your camera “FORWARD, BACK, UP, DOWN , LEFT, RIGHT ?” … With WM_Input_Manager you will also be able to use your 3d connextion device as joystick in game right now if I put a few lines into this plugin. I am thinking to compile special binary demo version of WM_Input_Manager for you to know if your device will be recognized correctly because theese 3D connexion devices are a bit expensive controllers to buy them all for development testing. . You will be able to read all data from it , if it will pass i can map correct controlls for you.You will then assist me by sending me preprogrammed debugging files… Please send me your email in private message if you agree & also send me which version of UE4 we will be using for testing

That’s a lot of steps, and I’m not keen on registering a developer account with them.

Is this the only way to get support working in 4.21?

@roberteker Those steps are only needed if you have a custom engine and need to compile the plugin. If you are using the stock 4.21 you can just download the binary package linked in earlier posts.

Brilliant, thank you for the clarification!

Ouch, I apparently can’t package with the plugin enabled:

UATHelper: Packaging (Windows (64-bit)): ERROR: System.IO.DirectoryNotFoundException: Could not find a part of the path ‘C:\Program Files\Epic Games\UE_4.21\Engine\Plugins\Intermediate\Build\Win64\UE4\Shipping\.precompiled’.

@roberteker Yes - sorry I should have mentioned. It is an editor only plugin. @Rapid_Wirehead has a cool runtime plugin for usb that might work if you are interested in a runtime approach…

No, no, sorry for the confusion. I want the editor convenience of space mouse navigation, but I also want to be able to continue package my project without having to uninstall the plugin.

Hello, @Rapid_Wirehead!

Have you made any progress in implementing support for the 3D Connection mouse in your plugin?

I am also interested in this, and would be willing to try and help you, be it by testing the plugin or even by chiming in so that you can buy some model for testing.

As far as I know, the buttons in the 3D Mouse are not sent to the application as joystic buttons or as special functions, but are programmed to send keyboard keys and macros, so that the application will receive a normal command such as would be the case with any programable keyboard. This programming happens within a manager program that is always running in the background, and can make things like radial menu overlays that will be triggered not within the target program, but from the manager. As such, in my opinion there is no need to worry about the buttons at all, as the user can control what they do and this would be transparent to Unreal. (Certain applications that are certified for the mouse are recognized by the manager application and can receive special commands that are not hotkeys, but this is not necessary and it would be outside of the scope of what I think most people are interested in).

So, in this case, the basic model is perfectly adequate for testing an development, and you can safely ignore the more advanced models.

As for the axes, forward and backwards should displace the character forwards and backwards in the direction of view, left and right would do the same on the right axis of the direction of view, and up and down again the same from the direction of view. This would be very similar to using a floating pawn with a controller, where (assuming Unreal coordinate space) the XY plane would be displacing the mouse forward an to the sides and be equivalent to the left thumbstick of the controller (or WASD on the keyboard), and displacing up and down would be equivalent to binding the left and right triggers of the controller to moving up and down (Q and E on the keyboard).

As for tilting and orienting the view: The 3D space mouse is mostly designed for orbiting around objects. In its default settings, all axis actually feel inverted if you think of moving the mouse as moving the camera, but make perfect sense if you think of it as moving the object, as if you were holding it in your hand. But this comes from the fact that most 3D modelling programs make an orbiting view their default camera control, and a first person control is mostly never used.

The people who want the 3D space mouse to work are probably expecting it to feel exactly the same as it would in their usual modelling application, as this experience of “holding” and rotating and object seems to be what, once you get used to it, makes it very intuitive and practical to use. But, as far as I know, there is no way in unreal to pivot the camera around a camera pivot point within the editor, as Unreal takes the opposite approach from a modelling application and a first person perspective is mostly the only useful way for navigating the map (if there is a method for orbiting the camera within the editor, I have never found it).

This means that the 3D space mouse will not work exactly as it does in the modelling suites, because it will be controlling a first person camera and not an orbital one. While it would be amazing to be able to provide the orbital view, I don’t think this is a problem; the real usefulness of the mouse comes from being able to control 6 degrees of freedom with a single hand. Changing the type of camera being controlled doesn’t negate that fact.

Lastly, a very useful feature of the mouse in a modelling program is that you can control your view with one hand, and keep using the normal mouse (for example for selecting faces and whatnot) with the other hand. This implies that the mouse pointer remains a useful tool, and your navigation becomes completely independent from it. Most of the workflow improvements that the 3D mouse provides comes from this fact. So, it would be very important to make sure that you can at least move the mouse cursor within the editor without conflicting with the simultaneous movement of the 3D mouse and the camera.

And, as an aside and probably impossible request, if you can implement the 3D mouse for navigating within a Blueprints network (panning and zooming in and out) I would be absolutely blown away. Probably impossible, but one can dream.

I hope this gives you some useful information, and look forward to your plugin! If implemented, I will definitely buy.

Is there one for 4.22 yet?

I’m new to UE4.xx and have just started learning it. However I have over 20 years of experience with 3D CAD and 3D printing (stereolithography). And I have been using 3DConnexion mice for at least 10 years. I’m really disappointed to learn that there’s no native support for 3DConnextion products. As such I’m putting my UE4 learning on hold while I investigate Unity. I hope Epic reconsiders, though after perusing the forum on this subject, I have little hope. And, yes, I did get the latest plugin working but not as I would like it too. I would like to be able to customize it with the 3D mouse app like I do with Inventor, Fusion 360 and Google Earth. Thanks to all who have put their efforts into the plugin.

Hi, I tried to follow the instructions of this thread in order to make the 3Dconnexion space mouse working in UE4. Unfortunately, I didn’t succeed to make it work in the version installed in my PC (4.20.3). When I copy the plugin to the engine plugins folder and try to run the engine I get an error message (see the attached picture) and the engine doesn’t start.

Has anyone experienced the same issue?. Thanks

-SpaceMouse
Meanwhile I made an alternative implementation using HID directly, no 3DxWare bloatware and no SDK is needed (except of course the device drivers, but you can turn off 3DxWare services). Precompiled release is for 4.22 but auto building should work for lower engine versions as well. Read the readme for more info.

2 Likes