Search Unity

Official Say hello to the new Starter Asset packages

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

  1. Shaun_UnityIsAwesome

    Shaun_UnityIsAwesome

    Joined:
    Feb 28, 2020
    Posts:
    3
     
  2. Saguaro

    Saguaro

    Joined:
    Apr 8, 2018
    Posts:
    2
    My little contribution:

    Now you can use the mouse scrolling up and down to switch between the third person and the first person view. If you are interested, you can watch the whole list. Cheers!:)
     
  3. Hotstuffnewton

    Hotstuffnewton

    Joined:
    Feb 20, 2018
    Posts:
    5
    (3rd person scripts) What's the variable analogMovement for? / do? Making it either true or false does nothing to change how the character is controlled in run time?
     
  4. FellowPlayer123

    FellowPlayer123

    Joined:
    Dec 23, 2016
    Posts:
    114
    When the analog movement option is checked, the character animation moves according to the float values of your game controller. For example, if you press the stick button very slowly, then the character movement animation will be slow.
     
  5. Hotstuffnewton

    Hotstuffnewton

    Joined:
    Feb 20, 2018
    Posts:
    5
    Thanks, that would be why i haven't noticed a difference
     
  6. FellowPlayer123

    FellowPlayer123

    Joined:
    Dec 23, 2016
    Posts:
    114
    Why the "Speed" float value works weirdly? When the movement stops, the speed value doesn't go 0, but instead, it keeps going down to frightening numbers. It is especially troublesome in multiplayer sync because the animation looks glitchy when the animation stops.
     

    Attached Files:

  7. Andy-Touch

    Andy-Touch

    A Moon Shaped Bool Unity Legend

    Joined:
    May 5, 2014
    Posts:
    1,483
    Thank you for the info! :)

    Ah, so it looks like its an issue with the stick-to-camera sensitivity for that gamepad. Admittedly, I have never tried that gamepad plugged into an Android device let alone been able to test with it.

    It might be a case of having to extend the Camera Look script to have platform-specific stick magnitude processing when running on Android.

    How is the Movement Joystick input? Does it also have the same behaviour?
     
  8. Shaun_UnityIsAwesome

    Shaun_UnityIsAwesome

    Joined:
    Feb 28, 2020
    Posts:
    3
    The movement is perfect! It's only the look.
     
  9. Aman7080

    Aman7080

    Joined:
    Jun 14, 2021
    Posts:
    1
    Screenshot (31).png Hey
    I am new to unity, I was trying to setup mobile controls from this starter assets , But I don't know why it is not working.
     
    taigo1212 likes this.
  10. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    The ability to climb using the Animation Rigging package and some examples for modular animations using modular-rigigng, such as look-at targets or different kinds of runs would be highly useful as a starter package (since all of these conventions were present all the way back to Mario 64) and would make this (official, Unity-supported) package, to me, actually useful as a long-term, easy-to-use, asset when starting up new projects. When it is ready, DOTS Animation would be useful here too -- since this is the kind of thing that is useful as both an example -- and as a starter asset.

    Eventually both DOTS Visual Scripting and Unity Visual Scripting support would be handy for many designers as well, who are looking to quickly prototype without having to fool with that much code. Moving platform support would be great also (if it isn't already available) because, you know, some basic climbing behavior for platformers. That climbing bit should of course be able to be disabled or removed if necessary (and show how to "extend" the package via modules that can be authored visually), and since it would be more of a modular "addon" thanks to Animation Rigging, some of that special coding it might need to handle the transform shifts when climbing is enabled should be easy to spot and also easy to modify (in case a character has multiple kinds of climbing animations, for example).

    Outside of these (sorely missing) elements, I think you've got a good start so far. :)
     
    DYV and bronsonzgeb like this.
  11. anideveloper

    anideveloper

    Joined:
    Oct 6, 2020
    Posts:
    3
    Failed to load 'F:/Coding/learn/unity tps game project/Assets/StarterAssets/ThirdPersonController/Scenes/Playground/LightingData.asset'. File may be corrupted or was serialized with a newer version of Unity. this error is coming i can run the project but why is it coming
     
  12. anideveloper

    anideveloper

    Joined:
    Oct 6, 2020
    Posts:
    3
    i used the defaul project the move it working jump also but the look is not working in the `player armature` the script `starters assest input` its showing the vectors value but the camera is not moving
     
  13. FellowPlayer123

    FellowPlayer123

    Joined:
    Dec 23, 2016
    Posts:
    114
    up
     
  14. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    from the code
    Code (CSharp):
    1.            
    2. // note: Vector2's == operator uses approximation so is not floating point error prone, and is cheaper than magnitude
    3. // if there is no input, set the target speed to 0
     
    bronsonzgeb likes this.
  15. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    It sounds like you're using a version of Unity earlier than 2020.3. The character controller will still work, but the lighting data for the playground scene won't.
     
  16. FellowPlayer123

    FellowPlayer123

    Joined:
    Dec 23, 2016
    Posts:
    114
    And what about it? It says that when there is not input, it should set it to 0. So it should be 0 in my case.
     
  17. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    If you’re setting up the mobile controls in a new Scene, you will need to hook up the Input, which may be what is causing this issue. After selecting your UI Canvas, in the UI Canvas Controller Component, make sure to assign your Player Prefab to Starter Assets Inputs under Output.

    The documentation "StarterAssets_Documentation.pdf" which is located in the project under Assets/StarterAssets has more information on how to set up mobile controls in a new Scene.

    You can also watch our Youtube introduction from 6:49 for more information. Link:
     
  18. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    Oh my bad, i'm pasting incomplete line.
    What i mean is the line starting from line that to _animationBlend, there's accel/decel curve interpolation. You can try to remove them or just set the animblend to zero if there's no input. But that will make the animation snap to idle without the curve
     
  19. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    Been wondering why this look mode are not included as the animation are already in the package, well except the look/aimpose.
    I mean the LookMode are included in the OpenCharacter Project
     
    Last edited: Jul 2, 2021
  20. FellowPlayer123

    FellowPlayer123

    Joined:
    Dec 23, 2016
    Posts:
    114
    Where is it?
     
  21. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    where's what? the animation are inside the animation folder
     
  22. FellowPlayer123

    FellowPlayer123

    Joined:
    Dec 23, 2016
    Posts:
    114
    So the rest you created yourself right?
     
  23. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    yep , i added lookpose layer and modify the script
     
  24. FellowPlayer123

    FellowPlayer123

    Joined:
    Dec 23, 2016
    Posts:
    114
    Ok. That's interesting why they didn't include that if the animations are already present.
    Nice colors by the way :). Do you use Unity's post-processing? What render pipeline? URP? HDRP?
     
  25. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    Thanks, for this one i use URP. I just play around with the lift,gamma,gain.
     
    FellowPlayer123 likes this.
  26. Rechnner

    Rechnner

    Joined:
    Jul 6, 2021
    Posts:
    1
    Hello, nice work!

    I'm new here, where can I find that LookMode/OpenCharacter Project you mentioned?

    Also, does anyone know how to change camera speed of this starter asset? Either config or script
     
  27. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    Rechnner likes this.
  28. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    upload_2021-7-7_23-46-25.png
    This is why i hate inverted bone axis.
    Well i don't know if you guys want to fix the inverted bone orientation though, since this package are targeted for beginner user and for me this is kinda bad practice in my opinion. At least give them a guide/example of best practice in unity.

    Edit : This might depend on the DCC where the character are rigged though, so i leave it to unity team how to handle this bone orientation issue. You can leave it as it is, or switched the flipped side of the inverted bones.
     
    thundercat71 and ch715t0 like this.
  29. unity_J1Z8cLXAtvLrrw

    unity_J1Z8cLXAtvLrrw

    Joined:
    Jun 20, 2021
    Posts:
    3
    I have an error with this first person controller, i implemented a inventory that is opened with 'i' letter, but i cant click on it to equip a weapon, do you know how can i solve it?.
     
  30. scottswearingen

    scottswearingen

    Joined:
    Feb 3, 2020
    Posts:
    1
    Hello,

    Thank you so much for the starter asset packages. They are great and I filled out the survey saying the same.

    Question: I am trying to figure out how to implement an initial LookAt target. If I jiggle the mouse when the game is loading, my camera is never oriented in the direction I want it to be when the level actually loads. I would love to force a LookAt target for n-seconds on level-load.

    I'm looking under the CinemachineVirtualCamera component on the PlayerFollowCamera gameobject, and I feel like 'Aim' might be the place to set this up, but I can't seem to turn it off.

    Would love any direction you could provide, or if there's a resource online where I can find more information on how best to use the starter asset packages, I would greatly appreciate it.

    Thank you again for your time and help.

    -kropcke
     
  31. vannus

    vannus

    Joined:
    Jun 30, 2014
    Posts:
    7
    dunno whats going on here, but if I move the mouse even the tiniest bit the camera just glues itself to pointing straight into the sky.

    all I've done is build & run the Playground scene (Windows x86_64) on URP.

    I'm probably going to progress without all this cinemachine fluff, but thought I'd let you know in case theres a bug somewhere.
     
  32. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    If I understand correctly, it sounds like you want to disable mouse input until your level is fully loaded. There's a toggle on the StarterAssetsInputs script called Cursor Input For Look. If you disable this, then mouse input won't affect the look direction. You could then re-enable it after the elapsed time.
     
  33. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    You can control the camera speed in the inputactions file (Assets/StarterAssets/InputSystem/StarterAssets.inputactions). If you open that file (click Edit Assets in the inspector while it's selected), under Player > Look there's a configuration for Pointer and Gamepad. On each of those configurations there's a "Scale Vector 2" processor, this is basically your sensitivity. The Pointer and Gamepad configurations are separate so you could set different sensitivity for Keyboard/Mouse and Gamepads.

    If you're working on Mobile, the UI_Virtual_Joystick and UI_Virtual_TouchZone prefabs have a field called "Magnitude Multiplier" which will control the sensitivity of those components.
     
  34. solarstreamtechnology

    solarstreamtechnology

    Joined:
    Apr 10, 2020
    Posts:
    8
    When I add a Nav Mesh Agent to the Player.

    The Player will jump infinitely when I press jump once.

    How do I fix this?
     
  35. Matrixpeipei

    Matrixpeipei

    Joined:
    Aug 21, 2017
    Posts:
    2
    Hello I fixed up this error Just set player a New layer "Player" and find Basic Rigied Body Push choose push layers as Player Done .LoL
     
  36. Matrixpeipei

    Matrixpeipei

    Joined:
    Aug 21, 2017
    Posts:
    2
     
  37. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Seems like this would all be centralized somewhere -- i.e. in the initial configuration script?
     
  38. vertxxyz

    vertxxyz

    Joined:
    Oct 29, 2014
    Posts:
    109
    Mouse input is being multiplied by delta time.
    This is a pretty major flaw in both controllers.

    upload_2021-7-16_15-39-40.png

    This makes sense when dealing with the joystick portion of this input, but this is making mouse input framerate dependent.
    I've tested it and at different framerates the same distance of mouse travel will translate to entirely different rotations. Removing the deltaTime multiplication leads to matching rotations. If your game has hitches when using this controller you will feel it as jumpiness, and as far as I can see the reviews on the asset store point towards this being the case for others.

    This is a problem that the input system docs don't seem to resolve at face value, just saying "You can write code that is agnostic to where the input is coming from."
    Unless I have a complete misunderstanding about how this all works, this is a pretty big oversight.
     
    Last edited: Jul 16, 2021
  39. FellowPlayer123

    FellowPlayer123

    Joined:
    Dec 23, 2016
    Posts:
    114
    How and where to add footstep/jump/landing sounds to this starter?
     
  40. R1PFake

    R1PFake

    Joined:
    Aug 7, 2015
    Posts:
    540
    I have the same issue, but it only happens if I select the character game object, do any of these scripts have a custom editor which heavily slows down Unity or what's going on? It's a nice workaround, but someone from the dev team should look into this please.
     
  41. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    Do you mean centralizing the mobile sensitivity with the Keyboard/Gamepad sensitivities? Currently the Keyboard/Gamepad stuff is centralized with everything input related in the .inputactions file, but the mobile controls are the outlier because of the nature of virtualized controls.

    Although it's possible to add this, it's challenging to do it without adding more layers of architecture which is a deterrent for beginners. It's something we'll continue to test though.
     
  42. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    Wouldn't it be the other way around?

    If you remove the Time.deltaTime multiplier then the Pitch and Yaw will move the same amount regardless if a frame took 16ms or 10 seconds. This means that if your game runs faster you can look faster, and if the game runs slower you look slower, making your look-speed framerate dependent.

    By multiplying by Time.deltaTime then if your frame takes 10 seconds the Pitch/Yaw will be multiplied to compensate for how long it took. This will produce jumpiness, but it means that you'll be able to look around at the same speed regardless of your framerate.

    However, it's true that jumpiness feels bad, so I think the solution would be to smoothly interpolate the motion in a way that makes the jump less painful but still gets you to the same result in the same amount of time?

    UPDATE:
    @vertxxyz and I have concluded that multiplying the mouse input by Time.deltaTime is incorrect. We'll fix this in a later version.

    The reason that you multiply Joystick input by Time.deltaTime is because the value represents distance over time (let's say meters per second). When you multiply meters per second by seconds, the result is in meters. It's a distance. Mouse Input is already a distance. The Input value is the distance the mouse traveled since the previous frame, so multiplying by time is unnecessary.
     
    Last edited: Jul 23, 2021
    rshea0 and dkamp like this.
  43. vertxxyz

    vertxxyz

    Joined:
    Oct 29, 2014
    Posts:
    109
    Whether your move your mouse 10cm over 10 seconds in one frame or 600 frames, it still moved the same amount.

    Simple case working for both: You move your mouse 1cm in 1 second. Your character turns by that amount in one frame.

    Not multiplying that delta by deltaTime:
    A 10 second frame time, we moved 10cm:
    / 10
    to get 1 second, 1cm.
    A ~16ms (1/60 seconds) frame time, we moved ~166μm:
    * 60
    to get the same 1 second, 1cm.

    Multiplying that delta by deltaTime:
    A 10 second frame time, we moved 10cm:
    * 10
    second frame time, 100cm output.
    / 10
    to get 1 second, 10cm.
    A ~16ms (1/60 seconds) frame time, we moved ~166μm:
    * 1/60
    frame time, ~2.76μm output.
    * 60
    to get 1 second, ~166μm.

    Testing with target framerate is difficult. Either way, I feel like my logic here is correct, and this is a problem you have to deal with in the legacy input system. If the new input system is handling this somehow I definitely want to know about it.

    *Sorry, if you saw this before I made some edits to fix the maths.


    I seem to be wrong
    because the input system handles mouse input in a somewhat bizarre way specifically in actions.
    I'm sorry for bringing this up - but I really do feel like this needs to be mentioned in the docs or something, as it's extremely counter intuitive. The delta being applied is not a pure delta, it's an accumulation of delta across a frame...? I don't even know how to describe it.
    Either way, I'm so sorry, I don't know how my tests came to the wrong conclusion, but they were certainly not thorough enough.

    Now I need to know whether this also applied for the legacy input system? I'm certain it didn't work this way. *This post in that thread hints to me that it didn't.
     
    Last edited: Jul 20, 2021
  44. samyam_

    samyam_

    Joined:
    Jun 29, 2017
    Posts:
    10
    I made a video going over the project and scripts in-depth and suggesting some improvements if that's helpful to anyone:
     
  45. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    This is editor issue i think, it's been like forever. If you have a transform component visible in inspector and it is updating in play mode it will causing a lag/stutter.
    @bronsonzgeb should we report this? because i think this is performance regression as it's not happened pre unity 2019
     
  46. FatalityGames2

    FatalityGames2

    Joined:
    Feb 21, 2019
    Posts:
    3
    Hey there,
    I found something annoying with the starter assets. To replicate this you have to hold a Key like W or (A, S, D) and start walking and then press L.Shift to run and then release W and then release L.Shift.

    this will cause the player to move forward direction(because W was pressed) without any input and to stop this you have to again press W and release it then the player stops.

    I am using 2020.3.8f1 in Linux mint.

    how can I fix this?
     
  47. Pixitales

    Pixitales

    Joined:
    Oct 24, 2018
    Posts:
    227
    Love the new fps asset. One issue i noticed is there is jittering if the player and mouse is moving and turning at the same time. Any ideas what that might be? I set my vcam dampening to 0, still same issue.
     
    Last edited: Jul 21, 2021
  48. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    We reported it during development, so it's a known regression. As far as I know, there's a fix somewhere in the pipeline .
     
    R1PFake and Reanimate_L like this.
  49. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    No, I mean centralizing mobile sensitivity with all other sensitivities in a single "Init" script that handles it, say, with a slider or whatever and an input box to set the value manually if desired. This is typically located in the Inspector on a gameobject or in its own EditorWindow.
    However, if indeed virtualized controls are their own thing -- I think they needed to be treated as such. Even if this requires another layer or two of architecture, this can be easily obfuscated by a proper UI (i.e. EditorWindow) that is beginner-friendly enough to allow them to add/remove the controls they need.

    Personally, I think most beginners (and most users in general) aren't as dumb as it seems you guys think they are.
    Point any new user in the closest direction you can think of -- and they'll go looking specifically for what they need. This is why you need good visual communication in your UI -- not to mention your entire UX workflow (i.e. the centralization I mentioned).
     
  50. bronsonzgeb

    bronsonzgeb

    Unity Technologies

    Joined:
    Aug 10, 2020
    Posts:
    101
    The goal of these particular starter assets is to be lightweight and have simple understandable code. So I'd like to define what I mean by a beginner in this context, so we're both on the same page. In this case I'm talking about less experienced programmers and less technical users.

    The intention is for users to dive into the code and remix it for their purposes, so what I mean is adding extra levels of indirection in the code makes the code less approachable for beginner programmers or less technical users (who want to do some scripting).

    On those same lines, the assets are built to be expanded upon, but shouldn't have any extra features. What I mean is, it should be easy to add stuff, but you shouldn't ever need to take away stuff, because it's always easier to add than to take away. Does adding more architecture with a centralized UI absolutely have to be there? Maybe yes, maybe no. But, the point I'm trying to make is that we very carefully consider every feature (for these particular assets).

    Now, of course I think a centralized UI is a good idea in the right context. But given that these starter assets are designed to be lightweight, this type of system will likely come with a more advanced version. Or in other words, a more fully-featured production-ready character controller. Maybe we'll call those Finisher Assets :D.

    Finally, let's not argue about what's approachable. I'm willing to bet that you (like me) are a more advanced user who skews more on the technical side. Unfortunately, when it comes to what's approachable for beginners our experience clouds our judgement. So, we have to differ to people who are experts at being beginners, and we draw our conclusions from user tests.
     
    brummygit likes this.