Search Unity

  1. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice
  2. Ever participated in one our Game Jams? Want pointers on your project? Our Evangelists will be available on Friday to give feedback. Come share your games with us!
    Dismiss Notice

New Standard Asset Characters - Third Person

Discussion in 'Editor & General Support' started by willgoldstone, Apr 13, 2018.

  1. PhilSA

    PhilSA

    Joined:
    Jul 11, 2013
    Posts:
    1,378
    I know some contract issues with the people making this were mentioned at some point in this thread, so perhaps that's why this is happening
     
  2. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,400
    I'm always wondering why this asset are outsourced, not handled by internal unity dev team
     
    Lorash likes this.
  3. PhilSA

    PhilSA

    Joined:
    Jul 11, 2013
    Posts:
    1,378
    Another theory is that they've decided they'll focus most of their resources on DOTS from now on. At least when it comes to new stuff they're making. Based on their roadmap talk from last week, it does kinda seem to be the case (everything is becoming DOTS). And the character controller from the DOTS physics examples & DOTS samples seem to be shaping up nicely. DOTS Netcode as well seems to be going in the right direction; a much better-designed & more powerful networking API than UNET.

    Personally, I think focusing on DOTS would be the best decision if true, but I know many won't agree. I really can't blame Unity if they decide to half-abandon the monobehaviour world, because after having used DOTS for over a year, I can see how unfathomably vast of an improvement it is over the old tech stack. Not just in terms of performance, but also (most importantly) in terms of making it extremely easy to write robust and scalable code, and having source code access for nearly everything. I really can't get excited for monobehaviour-based projects anymore, because I know they'll only stay relevant to me for a year or so. Probably even less

    So yeah. Maybe this would explain many of Unity's "abandoned projects". Maybe they've decided it's better to wait for a proper tech stack to become available. I'm pretty confident that DOTS Netcode won't meet the same fate as UNET for example, because now they're working with tech that's actually good. And sure, it's not fun to have to go through this transition period, but it has to happen at some point
     
    Last edited: Mar 31, 2020
    Lurking-Ninja likes this.
  4. TwiiK

    TwiiK

    Joined:
    Oct 23, 2007
    Posts:
    1,656
    That's awesome. I had a paragraph about all the unfinished networking solutions in my post because they're the prime example of this practice in my opinion, but I removed it because the post was already whiny enough. :p

    UNET is the only official networking solution I actually tried out for one of my projects. I will definitely look at Mirror the next time I want to try networking again.

    As for my specific example upgrading the Unity Labs project doesn't really benefit me in any way and getting acquainted with and upgrading someone else's messy project to a state that I'm happy with can be quite an undertaking. And I already have the project and is free to pick and choose whatever code or assets I need from it for my own projects. This was more about hoping that Unity would realize the potential value in some of the projects that they're constantly deprecating and the value of letting new and future Unity users have access to some of the actually great projects they produce.

    I'm already hosting a few old Unity projects on my website because there is no trace of them in the official channels so I'm no stranger to the concept, but it's something that I only do when I find the motivation for it.

    And as for this thread I'm fortunate enough to be capable enough to make the character controllers I need for the projects I want to make so I don't really need anything on offer here, but once in a while it's neat to be able to quickly plop in something for prototyping or look at how other (official) developers create projects and functionality.

    But I get your point. It's really cool that so much more of the stuff Unity is making is open source and it's cool that they're making so much more stuff in general than before, but it just feels so fragmented, as if it's the work of dozens of separate minds rather than coming from a group of people with a clear vision for the future. And I of course think it is very unprofessional and reflects poorly on Unity both as a company and as a product.
     
    vis2k likes this.
  5. Lorash

    Lorash

    Joined:
    May 6, 2019
    Posts:
    215
    DOTS is great. I really like the direction they're taking with it and can't wait to work with it. I also exclusively use MonoBehaviours in my project. Why? Because although it's great, it's simply not there yet for production use (i.e. Unity's arch nemesis). If I pause my game in Play Mode, I can click on a misbehaving GameObject and use the Inspector to find out what's up with it. Entities cannot be selected with a click. I can create GameObjects with the Editor and drop them in my scene. I cannot create entities with the Editor, there's some kludge that converts them from GameObjects at scene start but you're still forced to use GameObjects for that workflow.

    The list goes on and on. I would love to not have to deal with magic method names, behind-the-scenes reflection magic, an insane amount of legacy, one single thread, but the alternative is simply not there until 2022.4 or something.
     
  6. TwiiK

    TwiiK

    Joined:
    Oct 23, 2007
    Posts:
    1,656
    As a hobbyist who only occasionally works with Unity and as someone who isn't getting any younger the thought of having to learn something brand new is scaring me to the point of not wanting to work with Unity at all anymore. :p

    I'm just hoping that the day DOTS arrives or becomes default or when the old way is deprecated or whatnot that there are rock solid tutorials and examples and that all the stuff I already know translates over. In my pessimistic opinion I feel like it will be similar to how everything has been so far. DOTS is introduced in state where we're lacking everything we took for granted in our existing workflows and we’re left to find workarounds or alternate solutions while we’re waiting for Unity to fix things, but they're already busy working on the next big thing.

    But to be perfectly honest I have no idea what DOTS is. I see it mentioned everywhere, but I'm not even bothering to look at it until I'm forced to. I get that it's super performant or whatnot, but most devices these days are super powerful and for the games most indie developers make performance hasn't been a problem in a long time. I just hope Unity doesn't forget how important it is for the engine to be fast and easy to learn and prototype with while they're working on all this new stuff.

    And you don't need to explain any of it to me in this thread. I don't want to derail it further. I’ll look into DOTS when it piques my curiosity or I have to, and I'll make the decision of whether or not Unity still is the engine for me at that point in time. But what you're saying makes sense. If Unity is focusing on an architecture rewrite then working on the old stuff doesn't really make sense and it's probably not very interesting or fun for the developers involved either.
     
  7. transat

    transat

    Joined:
    May 5, 2018
    Posts:
    686
    If they’re focusing on DOTS and the character controller from the sample then it wouldn’t hurt if they officially told us so. Then we can make informed decisions as to where to take our projects. Also, it would help if they made a URP version of the DOTS sample project. @PhilSA how’s your own DOTS controller coming along? I’m using KCC right now but keen to try out DOTS.
     
  8. transat

    transat

    Joined:
    May 5, 2018
    Posts:
    686
    My project is wedded to the MxM Motion Matching asset, which I’m using with KCC and really loving. But it’s not DOTS compatible so I would need for the dev to upgrade it (probably a huge amount of work) or wait for Kinematica - the beta is apparently to be released in April. In other words, a DOTS controller is one thing to worry about, then there’s also all the other stuff that I have integrated with the controller that will also have to be rewritten. Nightmare.
     
  9. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    26,729
    Please note that development on this is at the user's own discretion, and support from Unity on it may be some time coming (if at all on the same codebase).
     
    valentingurkov and transat like this.
  10. peteorstrike

    peteorstrike

    Unity Technologies

    Joined:
    Oct 4, 2013
    Posts:
    116
    Hi everybody! Apologies for the delay but I wanted to belatedly get an update out to everybody on where we’re headed with Standard Assets.

    Previously, I outlined a pretty high level approach to Standard Assets as a whole. Today I’m going to run through what we’ve been working on and some general thoughts for why we’re headed in this direction.

    Most importantly, we will be making a Prototyping Controller, and focusing only on the 3rd Person Character Controller for now. It’s important we maintain quality over quantity before we start working on additional assets, so we’ll take another look at whether we should make controllers for 1st Person, Vehicles, etc, at a later date.

    There’s a lot behind this decision, not least from the surveys, product analysis, internal discussions, and interviews we’ve done to lead us to this conclusion. We’ve learnt that the vast bulk of users need something that is easy to drop into their project for testing, initial prototyping and educational use.

    One of the biggest issues Standard Assets has had conceptually, is that it’s always sat somewhere in between a prototyping controller and a best-practice, extensible framework for creating advanced controllers.

    This has meant that they never really fit either need particularly well - the state machines or the underlying code ends up too complicated for beginners yet aren’t full-featured enough to be a good example of a reasonably advanced character controller.

    On top of this, we’ve had a lot of discussions with the animation teams here at Unity that lead us to the point that it’s just not possible to meet expectations by making a fully-featured, advanced controller. For a simple example, some people want fully physics-based controllers, some don’t, some want a mix.

    Even when it comes to some of the features requested here on the forums, there are so few agreed best-practice approaches to some of these that we’d be unable to avoid shipping with a raft of edge-cases that will just end up frustrating users.

    The list of feature requests could go on and on, sadly, to the point where we wouldn’t be happy shipping something that just won’t work within the enormous amount of technical and design variables present in people’s projects.

    One final point I’d like to make here is that every iteration of Standard Assets has shipped as ‘a guy with fairly realistic animations’. We feel this really doesn’t reflect the sheer variety of projects people make with Unity. So we’re going to take a look at doing something a bit different this time….

    So, here’s what we’re actually doing:
    • Single Package Manager package with all dependencies handled for you (no more cross-platform input yoinking every other script into your project!)
    • Simple prototyping-focused controller
    • State Machine that’s easy for anyone to understand
    • Robust but highly-tuneable Character Controller component
    • Clear, commented code
    • Full-body IK, foot placement, animatable IK targets, etc
    • Use of the Animation Rigging feature set
    • Resizeable rig with included resizable prototype meshes (create anything from regularly proportioned humans to Mario-style characters, which we’re really excited about!)
    • Set of learning material and tutorials to show ways to use, extend, add your own features, etc
    What have we done so far?
    • Animation Rigging-based joint rig
    • Fully resizable joints and re-shapeable (is that even a word?) geometry per-joint
    • Full-body IK, foot placement and IK target implementations
    So what’s next?

    We’ll update our progress here soon and we’ll also look to see if we can do a final update for the Standard Assets Characters Github for 2019.4 LTS as originally planned. We’re mostly waiting for that version of Unity to progress to a release candidate.

    Kinematica and the work our Sample Teams are undertaking in DOTS will be something we’ll likely explore later for either DOTS-based or more advanced controller work. At present there’s a lot of work being done on certain features that we’re better off waiting until they’ve matured to use.

    Let me know if you have any questions and many thanks!
     
  11. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    5,176
    @peteorstrike
    Thank you for giving updates. Bad perception of the scope was the one thing that created the confusion. It would be great it you also define the scope of the included "actions" that the controller will cover, so you don't get any more people expecting "fighting, swimming, climbing, etc ". My guess is that it would be jumping and walking on various slopes (also tell if it can be used on "planet"), this need to be stated.
     
  12. transat

    transat

    Joined:
    May 5, 2018
    Posts:
    686
    Thanks for the update @peteorstrike . All of that makes sense.
    Agree with @neoshaman but think swimming and climbing should at least be included as part of the learning materials and tutorials if not in the default version.
    Also, an optional integration with Game Foundation would be really nice and maybe learning materials for using it as a navmesh agent with AI Planner.
     
  13. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,400
    Let's not starting this again please, this is what causing the scope to expand. Everyone have their own needs of what is "should at least be included" let them finished the core first
     
    PhilSA and UnityJackT like this.
  14. transat

    transat

    Joined:
    May 5, 2018
    Posts:
    686
    “should at least be included...as part of the learning materials and tutorials” if you want the full quote.

    ie. I wasn’t making a request for features so much as suggesting stuff for the “learning materials and tutorials” section, in case there was any confusion as to what I meant. Just as KCC has a tutorial walkthrough. If it’s intended as a learning tool, I’d like to learn how to do those things with a simple prototyping controller. And this shouldn’t impact on the development of the controller as these tutes can come later.
     
    Last edited: Apr 3, 2020
  15. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,400
    i left out that part in purpose, because suggesting a learning material for something that hasn't been released are still adding more backlog on the team. KCC has a tutorial walkthrough but i doubt if that tutorial are released before KCC even released yet. So please lets just let them finished the core and released the package first.
     
  16. peteorstrike

    peteorstrike

    Unity Technologies

    Joined:
    Oct 4, 2013
    Posts:
    116
    At the moment we're aiming for just Idle, Walk, Run, and Jump. Slope handling will be part of it but I'll have to look into arbitrary up vectors!

    I think climbing and/or swimming would be good candidates for extension tutorials. To caveat, the work on supplementary learning material probably won't be started until the controller is rock solid, pretty much as you've suggested!

    Navmesh is another great candidate for tutorialising, as we wanted to try and replicate the old Standard Assets 3rd-person click-to-move example.
     
    transat and Reanimate_L like this.
  17. ProceduralCatMaker

    ProceduralCatMaker

    Joined:
    Mar 9, 2020
    Posts:
    41
    Any idea of timing of this updated version: weeks, months ? Thanks.
     
  18. peteorstrike

    peteorstrike

    Unity Technologies

    Joined:
    Oct 4, 2013
    Posts:
    116
    Hello! I'd wager a couple of months rather than weeks - we're taking some time to make sure that the core tech is robust and because some of the features are quite unusual, it's going to be a bit more work than putting together a regular controller!
     
  19. ProceduralCatMaker

    ProceduralCatMaker

    Joined:
    Mar 9, 2020
    Posts:
    41
    I wonder how this might effect many of us that are sort of keeping their feet on say traditional/realistic Unity environment and at the same time are struggling with DOTS prototyping.
    On the DOTS side we also have Character Controllers in development and KCC developer PhilSA just recently told me that by this summer he should be out with his implementation in DOTS, besides what we should hopefully soon (???) see in a new DOTSsample controller.
    I understand your scope in now more oriented towards a stable general entry system rather than a next generation one, but some of us were hoping to use it as a base for the transition period, maybe adding some DOTS to it little by little like DreamersINC has done with his project https://github.com/DreamersIncStudios/ECS-Motion-System.
    I believe that many of use will not be waiting two more months to see what we expected in 2019.
    Unless of course we will be forced by futher delays in DOTS.
    I believe you should at least let us know if and what breaking changes you plan versus the current implementation, that actually seemed to many a good starting point to work on. Are you going to do major changes or mostly adding features? And so no.
    thanks
     
  20. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    5,176
    I hope they make a new 3d game kits with mario 64 meet botw character controller :cool: that would put aside the need to be overtly generic and at least address some people, the current 3d game kit is a bit lacking in terms of character control.
     
    JamesArndt likes this.
  21. Lorash

    Lorash

    Joined:
    May 6, 2019
    Posts:
    215
    Seriously, this is one of the major gaping flaws of the Unity user experience. Let's say you're a user with a game in mind.

    Unity - start a new project: You can choose between 2D, 3D, 3D with Extras (what are the extras? The info box tells me it has "presets" and "example content" - I have no idea what the former is, the latter sounds somewhat useful but I won't get to know what the "content" is before I make that new project), or HDRP, or URP. What are those? The info box says HDRP is focused on high-end graphics, and URP's description talks about 2D a lot. So I'm guessing HDRP is the new 3D and URP is the new 2D? But then what's the difference between 3D and HDRP; and 2D and URP? So off I go to Google these I guess, or I can just jump in and hope that I chose the right one. (I'm aware of what they are but this is from the perspective of a new user. Also if you pick something that you really didn't want then switching in any direction that's not 2D/3D->SRP is virtually impossible). Chances are I'll pick the "newer" ones and then I'll only later find out that most assets and past knowledge that's on the web doesn't work with them. Assume I have made a decision, and I did make my project, I'm either presented with absolutely nothing, or a bunch of non-interactive objects in a scene where I can fly around with the camera with no collisions. Cute but very minimal. I need to roll everything else myself and we experienced users know that Unity is very thin on features with anything even remotely serious save for a few exceptions (Cinemachine is pretty nice) is going to be a paid asset. Want a character controller? Sorry, the best we can do is a fancy capsule collider but there are at least 3 major ones in the asset store! Hope you pick the right one for your needs and it remains supported! The cherry on top is that a lot of engine features are not in the engine itself and I will first need to SOMEHOW learn that for something that I'm struggling with there's either a package (chances are it's going to be preview so hidden by default) or an unadvertised GitHub page (looking at you, NavMeshComponents).

    UE4 - start a new project: It asks me if I want to create a game or some other kind of product like film or architecture. I know that! I want to make a game! *click* Oh, it's now asking me what kind of game I want to make! I know that, too! *click* Only at this point do we get to the "difficult" questions, but the window helpfully tells you for each of them that if you change your mind how can you change your settings to the other one. The defaults are also set to what you're probably going to use. (The others like BP vs C++, you can't get it wrong, it's just how your project is set up initially. Every UE4 project supports BP and C++ at the same time). Once I've made my decision, my project opens up and (assuming my selection was not Empty) I have a minimal game already set up for me! There's a sample character that I can control, the camera works, there's a level, I can run around, jump, etc. and the animations are already set up. Sweet! Something that I can build on and later tweak to my needs or replace if I so desire! Want a character controller? Sure thing buddy, the default one that you already have in your level supports running, flying, crouching, jumping, and also has this nice feature that you can use to transfer control to another object like a vehicle if you get in it.

    Why are the Unity standard assets not standard, coming with the engine out of the box? Even if it's an automatic download after I create my project if you're so worried about the installer size.
     
    Last edited: May 22, 2020
    JamesArndt and Shizola like this.
  22. JamesArndt

    JamesArndt

    Joined:
    Dec 1, 2009
    Posts:
    2,782
    Unity used to come with Standard Assets that did work out of the box and were pretty decent for the time period. Things started to downhill after Unity 4.6 and the move into Unity 5.xx. They offered a new Standard Assets for Unity 5 and had the potential to develop these further, but for some reason abandoned supporting them (maybe to do DOTS conversion). All of this with no good replacement in place to fill that gap. Maybe they expected Asset Store developers to fill that need and that they could drive users to purchases in the store instead?
     
    Lorash likes this.
  23. Lorash

    Lorash

    Joined:
    May 6, 2019
    Posts:
    215
    Nothing more friendly than "spend more money to make our engine usable for the absolute basics" when on the other side of the fence you get a more mature engine for pretty much free that does come with working samples and with unlimited Megascans. This is supposed to be the part where you get the users hooked and locked in so they spend money later.
     
  24. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    5,176
    There is a free controller in the asset store that's already everything they promise in the revised lowered ambitions. That is it would redundant.
     
  25. OmiMike

    OmiMike

    Joined:
    Apr 25, 2019
    Posts:
    1
    getting a ton of errors when importing this for the input system. when I try to install the input system on the package manager I get an error and it wont let me install it to unity. Anyone know what to do?
     
unityunity