I am looking for Unreal engineer. -- 2

Job ID: 36596129

Budget: $8 – $15 USD

It would be ideal to implement this in Unreal Engine 5, or as a library that is easy to call from a UE5 app.
The goal is to have software that runs in VR to allow the user to type text in VR without having to use a keyboard.
Please write software that runs on the Oculus Quest and Quest Pro, on the device itself (not on a PC connected to it). Design the source code well so that I can use it as a library in other projects. And include instructions so that I can recompile and deploy the code myself, if I want to make any changes to the code. Any language is OK.
It should track the user's hands, showing them in the VR world as animated hands. We will refer to a user's fingers as 1 (for the index finger near the thumb), 2 (middle finger), 3 (ring finger), or 4 (pinkie). If the user holds a hand with the palm toward the camera, with the fingers all extended, that is "neutral". Then, if the user bends one finger down, that should be as if the user typed a number (either 1, 2, 3, or 4). In a floating window high up, it should show all the numbers that the user types (or just the last 100 numbers, if they type more than 100).
In a second mode, it should show a floating box of 4x4 letters near each of the 4 fingers. The index finger on the left hand gets:

ABCD
EFGH
IJKL
MNOP

The other fingers are as shown in the photos. The right hand is the same, except each row is reversed.

Then, if the user bends a finger, the letters in that finger are split into 4 smaller boxes. In the photos, it gives the example if you had bent the finger 1. In that case, finger 1 gets ABCD, and 2 gets EFGH, and 3 gets IJKL, and 4 gets MNOP, as shown in the photo.

Then, if the user bends a finger a second time, that box splits up. In the photos, the example is shown if they bent finger 2, which is EFGH. In that case, the box splits up so that finger 1 gets E, finger 2 gets F, finger 3 gets G, and finger 4 gets H.

Then, if the user bends a finger a third time, then the letter on that finger is added to the list of letters shown in a box high up. So if the user bent finger 4, then an H would be added.

After that letter is added at the top, it goes back to showing 4x4 letters for each finger again. And the user is free to bend a different sequence of 3 fingers to get a different letter added to the top.

In this way, the user can type the entire alphabet, and some punctuation, just by bending 3 fingers to get each letter.

Notice that in the 4x4 boxes, the left hand pinky has a bottom row that looks like:

’ ←↓

This represents:

APOSTROPHE SPACE BACKSPACE ENTER

Other than that, I think all the characters are pretty clear.

Please write well-structured code that can be reused in other projects. Also, please put lots of constants in the code that control things like how much the finger has to bend to trigger each action, how close the boxes are to the fingers, how big the fonts are, etc. I'll want to play with it by repeatedly changing constants, recompiling, and running.

Please let me know if you have any questions. Thanks!