• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by Fox_GAMING · Jan 04 at 10:16 PM · c#inputassetasset storebinding

How to reference New InputSystem Input Values in C# Script?

Hi, I'm working on a game, where the player collects trash, from Trash cans, and dumps them into a Trash Truck. I'm currently trying to convert my game over to the new Input System, so that I can have support for multiple controllers.

I'm using a particular asset, on the Unity Asset Store, called First Person All-In-One. It uses the Old Input System. I've written a script, called MultInput, which uses the New Input System. Here's the Script:

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.InputSystem;
 
 public class MultInput : MonoBehaviour
 {
     #region oldscript
     /*
     [SerializeField] public InputAction movement;
 
     Vector2 move;
     Vector2 direction;
 
     private void Awake()
     {
         movement.performed += OnMovementPerformed;
         movement.canceled += OnMovementPerformed;
     }
 
     private void OnMovementPerformed(InputAction.CallbackContext context)
     {
         direction = context.ReadValue<Vector2>();
 
         Horizontal = direction.x;
         Vertical = direction.y;
     }
 
     private void OnDisable()
     {
         movement.Disable();
     }
 
     private void OnEnable()
     {
         movement.Enable();
     }
 
     // Start is called before the first frame update
     void Start()
     {
    
     }
 
     // Update is called once per frame
     void Update()
     {
         Vector2 d = new Vector2(direction.x, direction.y) * Time.deltaTime;
         Debug.Log("MultInput-Move- :" + d);
     }
 
     public float Vertical { get; set; }
 
     public float Horizontal { get; set; }
     */
     #endregion
 
     #region newscript
 
     public PlayerControls controls;
 
     public float primVal;
     public float secVal;
     public float randKey;
     public float equipKey;
     public float jumpKey;
     public float crouchKey;
 
     void Awake()
     {
         controls = new PlayerControls();
 
         controls.Gameplay.Primary.performed += ctx => primVal = ctx.ReadValue<float>();
         controls.Gameplay.Primary.canceled += ctx => primVal = 0.0f;
 
         controls.Gameplay.Secondary.performed += ctx => secVal = ctx.ReadValue<float>();
         controls.Gameplay.Secondary.canceled += ctx => secVal = 0.0f;
 
         controls.Gameplay.RandKey.performed += ctx => randKey = ctx.ReadValue<float>();
         controls.Gameplay.RandKey.canceled += ctx => randKey = 0.0f;
 
         controls.Gameplay.EquipKey.performed += ctx => equipKey = ctx.ReadValue<float>();
         controls.Gameplay.EquipKey.canceled += ctx => equipKey = 0.0f;
 
         controls.Gameplay.Jump.performed += ctx => jumpKey = ctx.ReadValue<float>();
         controls.Gameplay.Jump.canceled += ctx => jumpKey = 0.0f;
 
         controls.Gameplay.Crouch.performed += ctx => crouchKey = ctx.ReadValue<float>();
         controls.Gameplay.Crouch.canceled += ctx => crouchKey = 0.0f;
     }
 
     void PrimButton()
     {
         Debug.Log("Primary Button!");
     }
 
     void Update()
     {
         Debug.Log("Primary Value: " + primVal);
         Debug.Log("Secondary Value: " + secVal);
         Debug.Log("RandKey Value: " + randKey);
         Debug.Log("EquipKey Value: " + equipKey);
         Debug.Log("JumpKey Value: " + jumpKey);
         Debug.Log("CrouchKey Value: " + crouchKey);
     }
 
     void OnEnable()
     {
         controls.Gameplay.Enable();
     }
 
     void OnDisable()
     {
         controls.Gameplay.Disable();
     }
     #endregion
 }

In the FPSAIO Asset's First-Person-Controller Script (Called FirstPersonAIO.cs,), It uses the Old Input System, and uses things like, "Input.GetAxis", and, "Input.GetButtonDown". I'm trying to reference my MultInput Script within this Asset's Script. I've also added a Debug.Log that gets the float value of one of the Input Actions, and it does work, when I press the Key, it correctly displays 1, and when I release it, it displays 0. However, (In This Example, at least, I'm trying to get the Jump Key to work.,), the Player / Character will not jump. Here's the code I have currently, from the FPSAIO Script. MultInt is the reference to the MultInput Script.

     private void Update(){
 
         #region Look Settings - Update
 
         Debug.Log("FPSAIO Jump: " + multInt.jumpKey);
         multInt.controls.Gameplay.Jump.performed += ctx => multInt.jumpKey = ctx.ReadValue<float>();
         multInt.controls.Gameplay.Jump.canceled += ctx => multInt.jumpKey = 0.0f;
 
         if (enableCameraMovement && !controllerPauseState){
             float mouseYInput = 0;
             float mouseXInput = 0;
             float camFOV = playerCamera.fieldOfView;
             if (cameraInputMethod == CameraInputMethod.Traditional || cameraInputMethod == CameraInputMethod.TraditionalWithConstraints){
                     mouseYInput = mouseInputInversion == InvertMouseInput.None || mouseInputInversion == InvertMouseInput.X ? Input.GetAxis("Mouse Y") : -Input.GetAxis("Mouse Y");
                     mouseXInput = mouseInputInversion == InvertMouseInput.None || mouseInputInversion == InvertMouseInput.Y ? Input.GetAxis("Mouse X") : -Input.GetAxis("Mouse X");
             }
             else{
                 mouseXInput= Input.GetAxis("Horizontal") * (mouseInputInversion == InvertMouseInput.None || mouseInputInversion == InvertMouseInput.Y ? 1 : -1);
             }            if(targetAngles.y > 180) { targetAngles.y -= 360; followAngles.y -= 360; } else if(targetAngles.y < -180) { targetAngles.y += 360; followAngles.y += 360; }
             if(targetAngles.x > 180) { targetAngles.x -= 360; followAngles.x -= 360; } else if(targetAngles.x < -180) { targetAngles.x += 360; followAngles.x += 360; }
             targetAngles.y += mouseXInput * (mouseSensitivity - ((baseCamFOV-camFOV)*fOVToMouseSensitivity)/6f);
             if (cameraInputMethod == CameraInputMethod.Traditional){ targetAngles.x += mouseYInput * (mouseSensitivity - ((baseCamFOV - camFOV) * fOVToMouseSensitivity) / 6f);}
             else {targetAngles.x = 0f;}
             targetAngles.x = Mathf.Clamp(targetAngles.x, -0.5f * verticalRotationRange, 0.5f * verticalRotationRange);
             followAngles = Vector3.SmoothDamp(followAngles, targetAngles, ref followVelocity, (cameraSmoothing)/100);
        
             playerCamera.transform.localRotation = Quaternion.Euler(-followAngles.x + originalRotation.x,0,0);
             transform.localRotation =  Quaternion.Euler(0, followAngles.y+originalRotation.y, 0);
         }
 
         #endregion
 
         #region Input Settings - Update
         //if(canHoldJump ? (canJump && Input.GetButton("Jump")) : (Input.GetButtonDown("Jump") && canJump) ){
         if (canHoldJump ? (canJump && multInt.jumpKey == 1) : (multInt.jumpKey == 1 && canJump))
         {
             jumpInput = true;
         }//else if(Input.GetButtonUp("Jump")){jumpInput = false;}
         else if (multInt.jumpKey == 0) { jumpInput = false; }

Also, and Update, I realize this now that this probably should be mentioned, but it appears as if none of the KeyBindings work with the New Input System. For all of them, I'm doing something along the lines of, if(multInt.FLOATNAME == 1.0f) instead of if(Input.GetKey(KeyCode.THEKEY), or something along those lines.

Does anyone have any idea how I can fix this? Or what I should do? Anything to help would be greatly appreciated.

If anyone needs any more information, please, let me know! Thanks!

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

693 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

How to use Multi-Tap in New Input System for Running? 0 Answers

Low FPS in android game if using MK glow free asset 0 Answers

Multiple Cars not working 1 Answer

How to make character asset moveable? 3 Answers

Is there a way to create a new Input axis when an Asset Store asset is installed? 0 Answers

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges