• 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
Question by call_me_senpai · Aug 28, 2021 at 01:26 PM · 2dmovementcharacter

my 2d character won't move when i hold any movement key?

i started recently learning the unity basics and programmin (about 4 weeks ago) and i'm enjoying it very much, usually whenver i'm stuck i search on the internet and i find a solution everytime but this time i didn't find anyone encountered the same problem as me so here my problem . i made a movement script to my 2d character using c# , it worked fine but to make my character move i have to click the key everytime and if i keep holding it he won't move .

 public class NinjaMovement : MonoBehaviour
 {
     public float speed = 3f;
 
     public Rigidbody2D rb;
 
     public float jump = 2f;
 
 
     void awake ()
     {
         rb = GetComponent<Rigidbody2D>();
     }
     
 
     // Update is called once per frame
     void FixedUpdate()
     {
         // ...moving left
        if (Input.GetKeyDown(KeyCode.LeftArrow))
         {
             Debug.Log(rb);
             rb.velocity = new Vector2(speed * -1,rb.velocity.y);
         }
         //...moving right
         if (Input.GetKeyDown(KeyCode.RightArrow))
         {
             
             Debug.Log(rb);
             rb.velocity = new Vector2(speed , rb.velocity.y);
          }
         //...jumping
         if (Input.GetKeyDown(KeyCode.UpArrow))
         {
             rb.velocity = new Vector2(jump, rb.velocity.x);
         }
     }
 }
Comment

People who like this

0 Show 0
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

1 Reply

  • Sort: 
avatar image

Answer by mustafacomert00 · Aug 28, 2021 at 01:29 PM

You should look at Input.GetKey

If you don't understand feel free to ask me on comment section.

Comment
rage_co

People who like this

1 Show 7 · Share
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
avatar image call_me_senpai · Aug 28, 2021 at 01:46 PM 0
Share

as i saw everything in my code looks fine, i tried to do a little change from (KeyCode.LeftArrow) to ("left") and i still get the same problem

avatar image rage_co call_me_senpai · Aug 28, 2021 at 01:51 PM 0
Share

I think means to say just to use getkey and not getkeydown, as the former is a continuous inputs while the latter is not

avatar image call_me_senpai rage_co · Aug 28, 2021 at 01:55 PM 1
Share

nice it worked, thank you very much for your help.

Show more comments
avatar image rage_co call_me_senpai · Aug 28, 2021 at 01:55 PM 1
Share

Also non continuous inputs like getkeydown should not be used in fixedupdate

avatar image mustafacomert00 call_me_senpai · Aug 28, 2021 at 01:55 PM 1
Share

Input.GetKeyDown and Input.GetKey is different than each other, Input.GetKeyDown will be true when user hits the key, Input.GetKey will be true while user holds the key down.

If you want to move your character while holding the key use Input.GetKey or Input.GetAxis not Input.GetKeyDown.

avatar image call_me_senpai mustafacomert00 · Aug 28, 2021 at 01:59 PM 1
Share

i already solved the problem but i'll do more research on the topic, thanks anyways

Unity Answers is in Read-Only mode

Unity Answers content will be migrated to a new Community platform and we are aiming to launch a public beta on June 13. Please note, Unity Answers is now in read-only so we can prepare for the final data migration.

For more information and updates, please read our full announcement thread in the Unity Forum.

Follow this Question

Answers Answers and Comments

349 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

Related Questions

Unity 4.3 2D make character not so blurry when moved 1 Answer

How to move 2D character from one place to another by "movement" and not "teleporting"? 2 Answers

Enemy not moving towards Player 0 Answers

2D Platformer Ai Movement Decision Making Problems 0 Answers

How to make my character stop stuttering when walking down a slope? 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