Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • 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 jackieucla · Aug 28, 2020 at 06:15 PM · input

Input System Vector2 composite does not cancel?

Trying hard to invest in figuring out how to make this input system work but it is definitely confusing..

Short version of question: why is my bool isMoving never set to false after I release the key?

 private InputControls inputCtrls;
         private bool isMoving = false;
         private Vector2 moveDirection;
  
         private void Awake()
         {
             inputCtrls = new InputControls();
             moveDirection = new Vector2(0,0);
         }
  
         private void OnEnable()
         {
             inputCtrls.Player.Enable();
             inputCtrls.Player.Movement.started += Movement_started;
             inputCtrls.Player.Movement.performed += Movement_performed;
             inputCtrls.Player.Movement.canceled += Movement_canceled;
  
             Debug.Log("Movements assigned");
         }
  
         private void Movement_started(InputAction.CallbackContext obj)
         {
             moveDirection = obj.ReadValue<Vector2>();
             Debug.Log("Movement started: " + moveDirection.ToString());
             isMoving = true;
         }
         private void Movement_performed(InputAction.CallbackContext obj)
         {
             moveDirection = obj.ReadValue<Vector2>();
             Debug.Log("Movement performed: " + moveDirection.ToString());
             isMoving = true;
         }
         private void Movement_canceled(InputAction.CallbackContext obj)
         {
             moveDirection = Vector2.zero;
             Debug.LogError("Movement stopped");
             isMoving = false;
         }
  
         private void OnDisable()
         {
             inputCtrls.Player.Movement.started -= Movement_started;
             inputCtrls.Player.Movement.performed -= Movement_performed;
             inputCtrls.Player.Movement.canceled -= Movement_canceled;
             inputCtrls.Player.Disable();
         }
  
         void Update()
         {
             if (isMoving)
             {
                 Debug.Log("Why does this message keep looping?");
             }
         }

Long Version of Question: I am trying to get a correct hold down behavior for a binding to a Vector2 composite (using WASD keys) for player movement. When this script is attached to my game object, the "~looping" message just continues to display even after I let go of the keyboard. In addition, "Movement Started" never displays. I would want it to display "Movement Stopped" after button release but that does not work with this as well. Could someone explain how this behavior does not seem to work for Vector2 bindings but it does work fine if the Action type is assigned to Button? I need to be able to use Vector2 composite for proper movement. Is there a reason the Vector2 composite does not behave the way a Button does?

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.

Follow this Question

Answers Answers and Comments

161 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

Related Questions

Help In Making a SphereCast for 3D Tire! Working RayCast Script included! 0 Answers

Is it good to specify what Actions of the Input Manager do on several Scripts? 1 Answer

Accelerometer calibration works on Unity Remote, but not on device after build.. 1 Answer

Differentiate left, right and both mouse inputs 0 Answers

How to get GameObject that is clicked by a mouse? 2 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges