1D Vector composite with/New Unity Input System.
Objective: 1D Vector composite with/New Unity Input System.
Before doing this create action assets and a player action map. then create an Input script and attach it to the Player game object.
In the first step, create a new action called Rotate, then select it <action property, change Action type to value, then change control type to an axis.
Note: When setting control type to axis means this Vector1.
Now select Rotate Action then right-click and choose Positive/Negative binding. This will create A vector1 binding which is called negative or positive binding.
In this step, I will create a reference off of the PlayerInputActions asset in my PlayerInput, then I will create an Instance for this PlayerInputActions asset. Then I will enable the Rotate Action.
In this step, I want to rotate my player to the left when I press A and rotate to the right when I press D. To do this I will use transform.Rotate inside this method I will pass Vector3.up which means rotating this object using the y-axis and multiplying Time.delta and rotation speed.
To get the ReadValue of Vector1, I will create a float variable called rotationDirection, then assign it to the read value of my rotation action. Last I will multiply it by our rotation speed.
If we play the editor like this, we will have the issue, if press A my player will rotate right and if I press D the player will rotate left.
To solve this Select our Action <process, hit plus button<add Invert, or you can select A Vector1(WSAD) <process, hit plus button<add Invert. Make sure you save the asset.
Let's play the editor.
See you in the next article.