Search Unity

Official Say hello to the new Starter Asset packages

Discussion in 'Assets and Asset Store' started by UnityHas, Jun 9, 2021.

  1. r618

    r618

    Joined:
    Jan 19, 2009
    Posts:
    1,305
    @bronsonzgeb Would it be possible to move this thread into more appropriate forum section ?
    Announcements are useful, but having frequent unread thread which is not relevant for actually announcing things is less so.
    Thanks!
     
  2. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    Done!
     
    r618 likes this.
  3. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    That's a hard problem to solve without seeing the project. It means that it can't find the variables called Move or velocity in the Character Controller script. That probably means they were either removed or there are conflicting types with the same name and the compiler is getting confused.
     
  4. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    Yes! You can add new key bindings in the StarterAssets.inputactions file.

    If you look under the Move > WASD you'll see that A and D are mapped to Left and Right. First delete those mappings. Then under Look add a new "2D Vector Composite". Here you can bind A and D to Left and Right. Make sure to tick the box "KeyboardMouse" under Use in control scheme. You'll likely want to add a new "Scale Vector 2" Processor to increase the turn speed, otherwise you'll turn very slowly.

    The attached screenshots demonstrate what the menu will look like when you're done.

    For more info about using the Input system (creating actions etc.) you can check out the documentation here.
     

    Attached Files:

    SpaceDragonMap likes this.
  5. GCodergr

    GCodergr

    Joined:
    Mar 3, 2015
    Posts:
    5

    That guide was actually really helpful. :)

    I have tried to replicate the same behavior using MLAPI and it worked.

    Made a sample project here

    Thank you!
     
    bronsonzgeb likes this.
  6. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    Awesome!! That's great to hear! I'm happy to help :D
     
    GCodergr likes this.
  7. Miscellaneous

    Miscellaneous

    Joined:
    Sep 24, 2013
    Posts:
    53
    PS4 Controller is Dead [Editor: Standalone/iOS/AppleTV] and Apple TV [runtime].
    Bluetooth Playstation 4 Dual Shock Controller on OSX 11.5.2 [Unity 2020.3.18]
    Controller is correctly connected [at least its working with Old Input System]...
     
  8. SpaceDragonMap

    SpaceDragonMap

    Joined:
    Jun 4, 2020
    Posts:
    5
    Thank you, its working great!
     
    bronsonzgeb likes this.
  9. jnbbender

    jnbbender

    Joined:
    May 25, 2017
    Posts:
    487
    I like it so far, it's forcing me to learn the new InputSystem. More importantly, I finally have a camera that doesn't clip the walls!! Amazing. I am having one issue though. I have a robot style character with a huge head. I made the Character Controller cover his body but placed a separate Sphere Collider on the Head skeleton. When I'm not using the collider the follow camera is fine, when I activate it it snaps to the Head/Collider position.
    I am not a Cinemachine expert but any help would be great.
     

    Attached Files:

  10. ZombieCowboy

    ZombieCowboy

    Joined:
    Nov 9, 2017
    Posts:
    1
    I started playing around with the new input system and starter assets a few days ago, and I love the new 3rd person controller (it works beautifully compared to the old default one). But I'm having a heck of a time trying to get the new first person controller to work with a FPS character with full-body awareness.

    Basically, I want the first person controller but with a fully animated model (like the third person controller). I've tried adding an animator component to just about everything that made sense, with the proper animation controller and avatar designated but no luck. I don't want to do the old-fashioned "floating arms/legs tacked onto the camera trick"...that's always bothered me, even when "faked" really well.

    The closest I got it to working as intended was by using the third person controller and moving the camera slightly in front of the character's face....but the first-person movement is not right (camera rotation and sideways movement do not match a first person setup). Any help in getting this working would be awesome!
     
  11. Darman117

    Darman117

    Joined:
    May 12, 2017
    Posts:
    1
    I really enjoy the base for it but i seem to be lost trying to figure out how to add something simple like interacting with a door and opening it. ):
     
  12. vertxxyz

    vertxxyz

    Joined:
    Oct 29, 2014
    Posts:
    109
    Hiyo, I'm looking at the code for mouse look input again because I was wondering how you were supposed to handle only scaling controller input with the new input system and I've come across some bizarre leftover code.
    On line 20 of StarterAssetsInputs there is
    #if !UNITY_IOS || !UNITY_ANDROID
    , which could never be true. Even if it could defining both in the file means
    cursorInputForLook
    on line 39 wouldn't be defined.
    This define is also used further down in the script.
     
  13. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    Yeah that sounds like a mistake for sure. I'll ask the developer who worked on that part what his intention was.
     
  14. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    That's weird, I'm not sure what would cause that... Maybe the camera thinks the head is a wall and is trying to get in front of it? I would try changing the head to a different layer other than Default and see what that does? By default the CinemachineVirtualCamera component treats everything on the Default layer as Obstacles to avoid.
     
  15. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    This is a version of the ThirdPersonController with First Person Movement. You'll probably have to tweak the Input Sensitivity, I know I did.
     
    UBGandalf and ZombieCowboy like this.
  16. nielshenriksen

    nielshenriksen

    Joined:
    Oct 13, 2010
    Posts:
    41
    How easy is it to change from FirstPerson to ThirdPerson at runtime?
     
  17. metalboroda

    metalboroda

    Joined:
    Jul 12, 2021
    Posts:
    1
    Hi guys!
    Please tell me how to double jump)
    Thank you in advance)
     
  18. Aokkii

    Aokkii

    Joined:
    Nov 3, 2013
    Posts:
    118
    @bronsonzgeb
    There is a problem with the standard asset Mobile UI virtual joystick script, The value is not clamped(or normalized?) and instead of going from 0 to 1; it goes way above the farther you drag the finger outside the joystick
     
    Last edited: Oct 11, 2021
    bronsonzgeb likes this.
  19. Weidz_

    Weidz_

    Joined:
    Feb 15, 2018
    Posts:
    41
    Had issue to get additional inputs to work, SendMessage list was updated in the inspector but wouldn't call new 'On' methods until I switched control scheme in the inputActions window.

    It would be great to have crouching option added
     
    Snake111 and ZombieCowboy like this.
  20. sorab2142

    sorab2142

    Joined:
    Nov 8, 2013
    Posts:
    3
    How do I go about just making a spawn point system that takes a Spawn transform (position and rotation) and set it to the controller:
    Setting it to PlayerCamRoot does not work - just adds some offset and my capsule is stuck at old position
    Settting it to PlayerCapsule - makes it teleport to wrong point in Z axis because capsule height has not being taken into consideration.
    Not very familiar with cinemachine so how do I make it spawn at the given transform and face a particular direction?
     
  21. Tuftywings

    Tuftywings

    Joined:
    Aug 17, 2020
    Posts:
    1
    Hi there! First of all, as a designer that is trying to get better at the programming side of development, the starter assets have been invaluable - thank you!

    However (regarding the Third Person Controller), I'm struggling to understand how the virtual camera ignores the rotation of PlayerCameraRoot that is induced by the Move method? To clarify further: when moving the PlayerArmature with the mouse (using the CameraRotation method), the PlayerCameraRoot rotates about the x & y axis, which in turn, moves the Virtual Camera around the Player. When moving the Player with the arrow keys/WASD, the PlayerCameraRoot also rotates about the y axis, but why doesn't the virtual camera move around the Player?

    Thanks!
     
    Last edited: Oct 15, 2021
  22. Weidz_

    Weidz_

    Joined:
    Feb 15, 2018
    Posts:
    41
    There is a weird snap when watching the ground with the FPS asset, it log the "Look rotation viewing vector is zero" warning, also my friend just cloned my git repo and get intense stutter/jitter when rotating the camera
     
    UBGandalf and Isgame-Studio like this.
  23. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    Thanks for letting us know, I'll notify the developer who worked on the Mobile Input.
     
  24. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    That's unusual, a bug in the Input System perhaps? I'll see if I can reproduce it.
     
  25. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    The CameraRotation method sets the rotation of the PlayerCameraRoot in world-space based entirely on the Mouse Input. The Move method rotates the PlayerArmature, which is a parent of the PlayerCameraRoot. So, normally when the PlayerArmature rotates, the PlayerCameraRoot would rotate too because it is a child of the armature. However, since the PlayerCameraRoot's rotation is set in world-space every frame, the rotation from the armature gets overridden. The rotation you see in the Inspector is the local-space rotation.

    Imagine you have an arrow in a box. If you rotate the box, the direction the arrow points in relation to the world will change, but the direction it points in relation to the box doesn't. What the CameraRotation method does is correct the rotation of the arrow to always point the same way in relation to the world. As a result, the direction it's point in relation to the box changes (it might be pointing at the front of the box, then the corner, then the back, etc.). So the PlayerCameraRoot Y Rotation you see changing in the Inspector when using the Arrow Keys / WASD is the rotation in relation to the Player Armature (the box), but the rotation in relation to the world isn't changing.

    The mouse input changes the world-space rotation. That's the at the beginning of the CameraRotation method where the target yaw and target pitch values are modified.

    I'm not confident that this was a clear explanation, but hopefully it helps?
     
    Tuftywings and teel1ng like this.
  26. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    Could you offset the spawn location to take the radius and height of your capsule? The radius and height of the capsule are available in the CharacterController component.
     
  27. sorab2142

    sorab2142

    Joined:
    Nov 8, 2013
    Posts:
    3
    Thanks, will try this out.
    Why is there a 0.2 offset in the X-axis on the transform's of the MainCam and PlayerFollowCam objects, also if the capsule height is set to 2.0 why is the Y-axis on the MainCam/PlayerFollowCam transform at 1.375 vs 2.0?. I made a script to automatically move the controller towards a target and look at it as well and have shared it below alongwith a video of the result. But after the movement it still shifts the player a little when disabling the LookAt and the Composer component as well. You can see at the end of the video (00:18) there's a sudden shift to a different position/rotation.



    Code (CSharp):
    1. private void CameraRotation()
    2.         {
    3.             if (LookTarget)
    4.             {
    5.                 // METHOD 1:
    6.                 // transform.LookAt(LookTarget);
    7.  
    8.                 // METHOD 2:
    9.                 // Need to make sure we dont keep adding components because CamRotation gets called every frame
    10.                 if (virtualCamera.LookAt == null)
    11.                 {
    12.                     virtualCamera.LookAt = LookTarget;
    13.                     if (composer == null)
    14.                         composer = virtualCamera.AddCinemachineComponent<CinemachineComposer>();
    15.                     composer.enabled = true;
    16.                 }
    17.  
    18.                 print("looked at target");
    19.             }
    20.             else
    21.             {
    22.                 print("CameraRotation else case");
    23.                 // if there is an input
    24.                 if (_input.look.sqrMagnitude >= _threshold)
    25.                 {
    26.                     _cinemachineTargetPitch += _input.look.y * RotationSpeed * Time.deltaTime;
    27.                     _rotationVelocity = _input.look.x * RotationSpeed * Time.deltaTime;
    28.  
    29.                     // clamp our pitch rotation
    30.                     _cinemachineTargetPitch = ClampAngle(_cinemachineTargetPitch, BottomClamp, TopClamp);
    31.  
    32.                     // Update Cinemachine camera target pitch
    33.                     CinemachineCameraTarget.transform.localRotation = Quaternion.Euler(_cinemachineTargetPitch, 0.0f, 0.0f);
    34.  
    35.                     // rotate the player left and right
    36.                     transform.Rotate(Vector3.up * _rotationVelocity);
    37.                 }
    38.             }
    39.         }
    40.  
    41.         IEnumerator ClearLookTarget()
    42.         {
    43.             var lastPosition = virtualCamera.transform.position;
    44.             var lastRotation = virtualCamera.transform.rotation;
    45.  
    46.             virtualCamera.DestroyCinemachineComponent<CinemachineComposer>();
    47.             composer.enabled = false;
    48.             //yield return new WaitForEndOfFrame();
    49.             virtualCamera.LookAt = null;
    50.  
    51.             virtualCamera.transform.rotation = transform.rotation = lastRotation;
    52.  
    53.             float offsetX = 0.2f;
    54.  
    55.             transform.position = new Vector3(lastPosition.x + offsetX, transform.position.y, lastPosition.z);
    56.             virtualCamera.transform.position = new Vector3(lastPosition.x + offsetX, virtualCamera.transform.position.y, lastPosition.z);
    57.             //virtualCamera.transform.position = transform.position = lastPosition;
    58.  
    59.  
    60.             // virtualCamera.transform.LookAt(LookTarget);
    61.             //transform.LookAt(LookTarget);
    62.  
    63.             LookTarget = null;
    64.             print("removed LookTarget");
    65.  
    66.             yield return new WaitForEndOfFrame();
    67.  
    68.         }
    69.  
    70.         private void Move()
    71.         {
    72.             if (MoveTarget)
    73.             {
    74.                 Vector3 moveDirection = MoveTarget.position - transform.position;
    75.                 moveDirection = moveDirection.normalized;
    76.                 moveDirection.y = 0;
    77.  
    78.                 if (moveDirection != Vector3.zero)
    79.                 {
    80.                     _controller.Move(moveDirection * MoveSpeed * Time.deltaTime);
    81.                 }
    82.                 else
    83.                 {
    84.                     print("reached");
    85.                     StartCoroutine(ClearLookTarget());
    86.  
    87.                     MoveTarget = null;
    88.                 }
    89.             }
    90.             else
    91.             {
    92.                 print("Move() else");
    93.                 // set target speed based on move speed, sprint speed and if sprint is pressed
    94.                 float targetSpeed = _input.sprint ? SprintSpeed : MoveSpeed;
    95.  
    96.                 // a simplistic acceleration and deceleration designed to be easy to remove, replace, or iterate upon
    97.  
    98.                 // note: Vector2's == operator uses approximation so is not floating point error prone, and is cheaper than magnitude
    99.                 // if there is no input, set the target speed to 0
    100.                 if (_input.move == Vector2.zero) targetSpeed = 0.0f;
    101.  
    102.                 // a reference to the players current horizontal velocity
    103.                 float currentHorizontalSpeed = new Vector3(_controller.velocity.x, 0.0f, _controller.velocity.z).magnitude;
    104.  
    105.                 float speedOffset = 0.1f;
    106.                 float inputMagnitude = _input.analogMovement ? _input.move.magnitude : 1f;
    107.  
    108.                 // accelerate or decelerate to target speed
    109.                 if (currentHorizontalSpeed < targetSpeed - speedOffset || currentHorizontalSpeed > targetSpeed + speedOffset)
    110.                 {
    111.                     // creates curved result rather than a linear one giving a more organic speed change
    112.                     // note T in Lerp is clamped, so we don't need to clamp our speed
    113.                     _speed = Mathf.Lerp(currentHorizontalSpeed, targetSpeed * inputMagnitude, Time.deltaTime * SpeedChangeRate);
    114.  
    115.                     // round speed to 3 decimal places
    116.                     _speed = Mathf.Round(_speed * 1000f) / 1000f;
    117.                 }
    118.                 else
    119.                 {
    120.                     _speed = targetSpeed;
    121.                 }
    122.  
    123.                 // normalise input direction
    124.                 Vector3 inputDirection = new Vector3(_input.move.x, 0.0f, _input.move.y).normalized;
    125.  
    126.                 // note: Vector2's != operator uses approximation so is not floating point error prone, and is cheaper than magnitude
    127.                 // if there is a move input rotate player when the player is moving
    128.                 if (_input.move != Vector2.zero)
    129.                 {
    130.                     // move
    131.                     inputDirection = transform.right * _input.move.x + transform.forward * _input.move.y;
    132.                 }
    133.  
    134.                 // move the player
    135.                 _controller.Move(inputDirection.normalized * (_speed * Time.deltaTime) + new Vector3(0.0f, _verticalVelocity, 0.0f) * Time.deltaTime);
    136.             }
    137.         }
     
  28. LethalFrosty

    LethalFrosty

    Joined:
    May 11, 2019
    Posts:
    1
    Hi
    I am using the new starter assets thirdpersoncontroller and I'm having problems getting the animations to work with Unity's Rigging system. Whilst I have changed the mesh and avatar to a different character, I notice that the animations used in the controller are still set to the default robot, which seems to be causing the problem. None of the tutorials I have look at change this. Can you offer a solution please? Do the animations need to be changed to the new avatar somehow?
    Many thanks
     
    Last edited: Oct 20, 2021
  29. teel1ng

    teel1ng

    Joined:
    Jan 14, 2016
    Posts:
    7
    Hello,

    First of all, thank you a lot for the Starter Assets! It is incredible simple and straightforward to use.
    As a beginner, I've ran into an issue related to Cinemachine and ThirdPersonController script:
    • I have a start rotation of VCam before game start.
    • Once game starts, CameraRotation() method in ThirdPersonController.cs is rotating VCam follow target to some arbitrary value (I specifically care about Y rotation, but this applies to all axes). That arbitrary value seem to be around -100f on Y rotation.
    • I cannot figure out why this is happening, as there is no input whatsoever at beginning of the game (both in editor and in WebGL build).
    • Camera control works just fine in game, but I would like to have control at beginning of game over both camera position and rotation. Position works just fine, but rotation seem arbitrary.
    The WebGL build is here: One Day - Unity Play
    • Notice that camera is looking at player from a side, while I want to look at player from behind. The look from behind is already set by default in editor, but it immediately jumps to this rotation once I enter Play mode.

    Can anyone help me to resolve the issue? I can provide any details needed to solve the issue.
     
  30. Novidoux

    Novidoux

    Joined:
    May 19, 2016
    Posts:
    19
    I was about to write a question about adding scripts and input system to my own model causing it to move super slow.
    However, I managed to locate the issue.

    The Thrd Person Controller script uses a sphere gizmo to check wether it touches a layer belonging to the "Default" layer. The problem here is first of all, the script is defaulted to look at the "Nothing" layer, thus always setting it to "in the air". Changing what layer to look for to "Default" fixes that. On the other hand it adds another problem. The player character tend to have the "Default" layer by default". Because of that, the character is checking if it is grounded on the character itself. This seem to have the effect of making the character move super slow. The fix here is to change layer of the player character to something else.

    If anything I hope this will help anyone having the same problem as me. But, I question why the ground layer have to default to "Nothing"?
     
  31. ric6121824

    ric6121824

    Joined:
    Dec 30, 2020
    Posts:
    2
    Hi there!
    I'm a beginner using this starter pack to test some game mechanics, but there are two things I can't get it down.
    1. I want to add a new button that will reset the level. I have made this new input key work before, however. But now, I can't release the key, so the action is called in every frame. I've tried to start a new clean project, but the input system is still broken. What can I do to fix it?
      Here is the video about this problem:

    2. I have created a trigger zone and a start point that should reset the player position to the start point while it steps into the trigger zone. However, the armature doesn't return to the position I set, but the debug log says it is triggered. Where is the armature's position?
      Code (CSharp):
      1. using UnityEngine;
      2.  
      3. public class Reposition : MonoBehaviour
      4. {
      5.     public GameObject player;
      6.     public GameObject startPoint;
      7.    
      8.     private void OnTriggerEnter(Collider collision)
      9.     {
      10.         if(collision.tag == "Player")
      11.         {
      12.             player.transform.position = startPoint.transform.position;
      13.             Debug.Log("You're back!");
      14.         }
      15.     }
      16. }
    Have I done something wrong?
     
  32. Linus

    Linus

    Joined:
    Feb 22, 2012
    Posts:
    112
    In my case it was quite simple. In Project Settings, Input System Package, set update mode to Dynamic Update. Mine was for fixed update for some reason. Cant recall setting that. Might have something todo with using alpha (2022.1.0a11.1413)


    @ric6121824 Problem seems to be in your OnRetry(), post your StarterAssetsInputs.cs changes
     
    Last edited: Oct 26, 2021
    Chrisx97 likes this.
  33. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    I think this post will help explain what's happening. The quick solution would be to initialize _cinemachineTargetYaw to starting rotation you need. I think modifying Start() in ThirdPersonController.cs will do what you need:
    Code (CSharp):
    1.     private void Start()
    2.     {
    3.             _cinemachineTargetYaw = CinemachineCameraTarget.transform.rotation.eulerAngles.y;
    4.          
    5.             _hasAnimator = TryGetComponent(out _animator);
    6.             _controller = GetComponent<CharacterController>();
    7.             _input = GetComponent<StarterAssetsInputs>();
    8.  
    9.             AssignAnimationIDs();
    10.  
    11.             // reset our timeouts on start
    12.             _jumpTimeoutDelta = JumpTimeout;
    13.             _fallTimeoutDelta = FallTimeout;
    14.     }
     
    teel1ng likes this.
  34. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    Which version of Unity are you using? I've seen this issue happen but I haven't been able to track it down.
     
  35. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    My guess is the Cinemachine Virtual Camera settings are incorrect. It looks like there's a Shoulder Offset on the First Person Controller?

    As for using 1.375 vs 2.0, it's to keep the camera at face height as opposed to placing it on the top of the capsule's head.
     
  36. teel1ng

    teel1ng

    Joined:
    Jan 14, 2016
    Posts:
    7
    Thank you very much! This solved my problem. Very simple and elegant solution, exactly what I was looking for.
    And that analogy with "arrow in a box" was very helpful to understand what's happening :)
     
    bronsonzgeb likes this.
  37. razzraziel

    razzraziel

    Joined:
    Sep 13, 2018
    Posts:
    396
    Hi, can we use new player armature in paid assets?
     
  38. FellowPlayer123

    FellowPlayer123

    Joined:
    Dec 23, 2016
    Posts:
    114
    Is there a version integrated with crouching?
     
  39. Aokkii

    Aokkii

    Joined:
    Nov 3, 2013
    Posts:
    118
    Feedback

    I was expecting that the UIVirtualTouchZone script would work like the one that every 3d mobile game in the market use to rotate the camera; but it wasn't:(

    in this case it acts more like a invisible joystick than a drag touchzone

    it would be better if it acted like most games use touchzones, drag de finger(or flick) to rotate things like the player's camera


    example of what i expected to be:

     
    Last edited: Nov 2, 2021
    Robertooos likes this.
  40. Blakingale

    Blakingale

    Joined:
    May 29, 2017
    Posts:
    2
    is there anyway we can make this work with root motion on? I also want my character to be able to move according to the animation. But this is character forcing you to have root motion off.
     
  41. altepTest

    altepTest

    Joined:
    Jul 5, 2012
    Posts:
    1,118
    OH MY GOD!!!! THANK YOU!!!

    I'm using the 2021.2.0f1 and cinemachine cameras were screwed up. Had this incremental movement when rotating the cinemachine cameras, the follow camera, the virtual cameras all screwed up, instead of a smooth movement, this start and suddenly accelarating and jump.

    Then I remember that this asset had a cinemachine implemented so I've tried and didn't worked anymore, same issue. And I swear when I've tried this package it in the past all worked just fine.

    That setting was on "Process Settings In Fixed Update" Changed to "Process Settings in Dynamic Update" and all works fine.

    I've created a new project in 2021.2.0f1 and I've added only this asset. That setting is "Process Settings In Fixed Update" by default.

    QUESTION! SOMEONE PLEASE HELP

    can't say this louder

    what is this option? how it needs to be by default? On "Process Settings In Fixed Update" OR "Process Settings in Dynamic Update"

    Setting to one or the other will mess something else in my game?

    Is this setting setting wrongly set OR is the cinemachine broken?

    Can someone from unity who knows what is this please for the love of all saints tell me what is the issue here?
     
    Chrisx97 likes this.
  42. edthecameraguy

    edthecameraguy

    Joined:
    Sep 22, 2019
    Posts:
    1
    Total noob question -- I am trying to figure out how to use the Unity Starter Assets - Third Person Character Controller and can get the example to work fine, no problem.
    The question is -- how to change out the player armature for my own character? I have tried changing the "Avatar" in the PlayerArmature, but that doesn't seem to do anything. I have tried editing the prefab and deleting "Geometry" and "Skeleton" and replacing with my own .fbx character (simple one I downloaded from Mixamo), but then the character doesn't walk/run properly (sometimes just moves around as a rigid statue).
    The documentation doesn't really address this so I would appreciate any help you can provide!
    Please give as many details as you are willing to give!
    Thank you.
     
  43. FellowPlayer123

    FellowPlayer123

    Joined:
    Dec 23, 2016
    Posts:
    114
    You need to change geometry with your own mesh and rig and also replace the avatar in the Animator component with your own.
     
    edthecameraguy likes this.
  44. Blakingale

    Blakingale

    Joined:
    May 29, 2017
    Posts:
    2
    If anyone is having a stuttering issue while turning the camera around in play mode after upgrading to 2021.2.0f1 version or 2022.1.0a13, go to Project Settings -> Input System Package -> Update Mode and change it to Dynamic Update from Fixed update. That fixed it for me.
     
    Chrisx97, LoveOSGames, Weidz_ and 2 others like this.
  45. FellowPlayer123

    FellowPlayer123

    Joined:
    Dec 23, 2016
    Posts:
    114
    When you change to Dynamic Update the stuttering only increases and the camera jumps like hell!
     
  46. vertxxyz

    vertxxyz

    Joined:
    Oct 29, 2014
    Posts:
    109
    If you're using mouse input you also need to remove the deltaTime scaling from the code. It should only exist if you're using joystick input. I'm not sure how the input system best expects you to handle each case separately though in terms of implementation.
     
    Chrisx97 and dkamp like this.
  47. Weidz_

    Weidz_

    Joined:
    Feb 15, 2018
    Posts:
    41
    Any way to fix the weird snap when looking at the ground in FPS ?
     
  48. Novidoux

    Novidoux

    Joined:
    May 19, 2016
    Posts:
    19
    I'm using 2020.3.9f1.

    And though I thought I fixed everything the character still stick to the ground sometimes. At those time I usually manage to get unstuck by sprinting or jumping. But I still have no idea why I get stuck in the first place.

    I'm leaving it for now, but I'm gonna have to address it at some point.
     
  49. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
  50. bitinn

    bitinn

    Joined:
    Aug 20, 2016
    Posts:
    961
    Hi,

    There is a problem with the built-in character controller that has been bothering me:

    - The capsule seem to get caught on by the doorway head room a lot.

    - Say I have a doorway with height of 2.1m (for example, the doorway from this simple prototyping pack: https://assetstore.unity.com/packag...gon-prototype-low-poly-3d-art-by-synty-137126 )

    - The default setup from our starter asset character controller is 1.8 height + 0.92 center.y with skin width of 0.02; This fits the character mesh pretty well but....

    - The character just couldn't go through the doorway, not without a lot of back-and-forth movement at least.

    - The reason isn't the doorway is too narrow, but the head room is not enough for the built-in character controller.

    - I tested both mesh collider and manually placed box collider, the result is the same; if I remove the

    - I had to the change the height to around 1.7 with appropriate center to clear the doorway (or don't use mesh collider and intentionally left more room at the doorway ceiling.)

    Thx.
     
    bronsonzgeb likes this.