• 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 Pikaroo · May 16, 2017 at 04:25 PM · movement3dfpscharactercontrollerridgidbody

What is the best way to move a character for an FPS?

I recently started learning Unity, and decided to try and make my first 'game'. The only problem I'm having is deciding how to move my character, there are so many options! Should I use FixedUpdate or Update? Should I use RidgidBody or CharacterControler? There are a lot of possibilities. I haven't been able to find a definitive answer to this question. All I'm trying to do is create a basic 3DObject that the player can control.

Comment
jero-nimo

People who like this

1 Show 1
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 toddisarockstar · May 17, 2017 at 10:19 PM 1
Share

no is pry answering cause its not a specific question. you are asking "how to make a game". this is to braud for someone to give a simple answer. you should use google and find a walkthough or tutorial for a FPS game and follow it. if you are needing a specific answer reguarding one of the many Components / functions you mentioned you should ask specifiic questions after reading about that component or function and knowing what it is. generally if you are moving something that is expected to use collisions or the phyisics engine you would attach a rigidbody and move and change its velocity in the fixed update function. a character controller gives you a bit more options and sometimes smoother movement if you need it.

1 Reply

· Add your reply
  • Sort: 
avatar image

Answer by Shrikky23 · May 17, 2017 at 10:54 PM

  1. First understand the difference between FixedUpdate and Update. FixedUpdate is used mainly for fixed calculations where as Update is used for all the general calculations. Learn more about the differences between FixedUpdate/Update and Time.DeltaTime and Time.FixedDeltaTime in the unity docs. It is very important you understand what Time.DeltaTime signifies for calculations.

  2. The idea way would be to use Rigidbody, learn basic 3D math and how to use Transformation in Unity, basic introduction to Vector3, Transform.Position, Transform.Rotation (Use Quaternions for rotations) and Input.GetKeyDown commands would help you build a Movement script easily.

  3. Though Character Controller is readymade, comes with collider, jump script etc, I wouldn't prefer that as over time you might want to modify a lot of code to get desired ability. When you learn the basic 3D math and build things yourself, your knowledge will be deep and any tweaks would take only seconds as you know your code and you know the concepts. If you want to be a programmer learn the concepts and then use readymade content only if needed.

Do a quick search on all the important keywords I mentioned and get started ! If you are a designer/artist don't go too deep. Hope this helps.

Comment

People who like this

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

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

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

5 People are following this question.

avatar image avatar image avatar image avatar image avatar image

Related Questions

How can I make my FPS player move towards the direction it is facing 1 Answer

How do I make a jumping and ledge-grabbing system, similar to TLoZ OOT in unity 3d? 0 Answers

Continuously rotate a gameobject on 1 axis perpendicularly to another gameobject's normal? 1 Answer

How to make my Character run through walls with the use of the Character Controller component 1 Answer

Crouching makes my player unable to move. 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