Simple 6DOF Component Documentation

Expand each categories to read more.

FAQ

What is the quickest way for me to get started with Simple 6DOF Component?

Open your Actor, Pawn or Character class and then Add the Simple6DOF Component. Everything is done through this component. Use the 4 functions available in the component.

What functions are available?

The component comes with 4 blueprint callable functions: Add6DOFRoll, Add6DOFPitch, Add6DOFYaw and Get6DOFControlDirection.

What parameters are available?

Currently the only parameter that is available is called RotationRate which can be found under the Customize category of the component. It dictates the rotation rate to use for 6DOF rotational functions

Why is the example project distributed separately?

Code Plugins are encouraged to have a small footprint which is why often, the accompanying example projects are distributed separately. The Plugin was designed to be small and simple so the decision was made to separate the example project.

Can I use assets from the example project in my game? Can I build my entire game on top of the example project?

Yes, the example project is distributed under MIT license and users are free to use the project under the license terms, even for commercial purposes.

What Engine version does the example project work with?

Any Engine version including 4.27 and above.

What to do if the editor shows missing Plugin error upon launching the example project?

Likely, you do not have the plugin installed for the Engine version you are launching the project with. Ensure you have the plugin installed to your Engine.

[Getting Started]

Example implementation video can be found here. In this video, the plugin is implemented in a standard First Person Template in Unreal Engine 5.4.

The system is controlled by a single Actor Component – Simple6DOF. This component can be added to an Actor, Pawn or Character blueprint to implement the 6DOF rotational functions.

Simply open your desired blueprint and search for the Simple6DOF component from the components panel then add it.

Once added, search for the functions by dragging a pin off of the Simple6DOF component. Ideally, you want to add all 4 functions to your graph. These are: Add6DOFRoll, Add6DOFPitch, Add6DOFYaw and Get6DOFControlDirection.

The Add6DOFRoll, Add6DOFPitch and Add6DOFYaw functions all take the user input then use the input values to rotate the actor/pawn/character in six degrees of freedom without gimbal lock. Assign your inputs here similar to setting up the inputs to add traditional Roll, Pitch and Yaw. One thing to note, if using input from mouse then leave the Absolute value checked. If using input from gamepad or keyboard then uncheck it.

Ensure Use Controller Rotation Yaw is set to false if using Pawn or Character class. Additionally, if using a camera or a Spring Arm, uncheck Use Pawn Control Rotation.

Set Default Land Movement Mode to flying to get rid of gravity if using Character Movement component.

The plugin itself does not provide any movement logic but both floating pawn movement and character movement component can be used to drive the movement. You can use the unit vector values from the output of the Get6DOFControlDirection function as directions for your movement inputs.

Example Project

The following example project is available.

Install the plugin to your engine then download or clone this repo. Open the .uproject file. When prompted, select your desired Engine version. Project works for Engine versions 4.27 and above. If the required plugin is not installed then the editor will show an warning. Ensure you have installed the plugin to proper Engine version from the Launcher.