Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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
1
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
Add comment · 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
0

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
Add comment · 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.

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 to make my Character run through walls with the use of the Character Controller component 1 Answer

Smoother dash with a Character Controller 2 Answers

How do I stop my character from sliding after adding force? 0 Answers

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

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


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