How is this plane steering made?

i really like the simplicity of this flying and i would like to use this also on my Project.
It looks like there is a tiny cross(Pointer?) moving around the crosshair that makes the plane move in that direction.
If the cross is further away from the centered crosshair it turns sharper.

I don’t know if it needs to be done with a widget and get the cross distance from the crosshair and then multiply this value with the turning speed value. So if the crosshair is 10(float) away from the crosshair it would multiply the turning by 10.

I have no idea how to put this on paper (blueprint) because i didn’t know how to get the distance between 2 points, or should it be done with rendering and then getting a spring arm or something? Idk i would like to make this as efficient and “unlaggy” as possible.

As far as i can see, its just moving up, while its nose is diving or rising depending on the mouse input. You can use the built in “Get Up Vector” to move the plane up, while checking if mouse is moving up or down.

If mouse is moving up, you can rotate the plane to raise its nose, and if it going down rotate the plane to dive.

If you really want to rotate around the cursor, you can use “ConvertScreenLocationToWorldSpace”. This function takes a screen coordinate, and returns the direction and location of that screen position.

Get world direction and multiply it with the maximum distance you want to rotate around. Then line trace from the plane to the direction*max distance vector. If you hit any actors, rotate around them.