Search Unity

Official 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,926
    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,788
    I'm always wondering why this asset are outsourced, not handled by internal unity dev team
     
    Awarisu likes this.
  3. PhilSA

    PhilSA

    Joined:
    Jul 11, 2013
    Posts:
    1,926
    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
  4. TwiiK

    TwiiK

    Joined:
    Oct 23, 2007
    Posts:
    1,729
    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.
     
    mischa2k likes this.
  5. Awarisu

    Awarisu

    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.
     
    Mattias1337 and Walter_Hulsebos like this.
  6. TwiiK

    TwiiK

    Joined:
    Oct 23, 2007
    Posts:
    1,729
    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.
     
    DerDicke likes this.
  7. transat

    transat

    Joined:
    May 5, 2018
    Posts:
    779
    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:
    779
    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

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    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:
    6,493
    @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:
    779
    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,788
    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:
    779
    “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,788
    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.
     
  17. ProceduralCatMaker

    ProceduralCatMaker

    Joined:
    Mar 9, 2020
    Posts:
    108
    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:
    108
    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:
    6,493
    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. Awarisu

    Awarisu

    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
  22. JamesArndt

    JamesArndt

    Joined:
    Dec 1, 2009
    Posts:
    2,932
    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?
     
    Awarisu likes this.
  23. Awarisu

    Awarisu

    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.
     
    DerDicke likes this.
  24. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    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.
     
    transat likes this.
  25. ShadowGamingStudios

    ShadowGamingStudios

    Joined:
    Apr 25, 2019
    Posts:
    2
    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?
     
  26. MonkeyZero

    MonkeyZero

    Joined:
    Feb 20, 2013
    Posts:
    37
    *Sigh* I was so looking forward to a new Standart "Prototyping" FPC and/or TPC to soon be available with the Input System in mind so we can finally ditch the editor time or splash screen only key rebinding.

    Now we're ditching the FPC for the TPC only?

    Oh well, guess I'll see if I can still use the GitHub beta content to rig a working controller with what we have so far.

    Hey guys? Maybe when you do get around to making a new Prototype FPC, you might want to think about making sure the Player can Crouch? It's one of those features that almost all First Person POV games have and yet the Old Standard Assets FPC just doesn't have out of the box.

    FoV Kick, Head Bobbing, Jump + Landing Bob all made it into the FPC, but basic crouch was left out?

    Oh well, I'm getting to the point where I can actually code my own FPC from New Script.
     
  27. ProceduralCatMaker

    ProceduralCatMaker

    Joined:
    Mar 9, 2020
    Posts:
    108
    Now that Unity 2019 LTS is out, any news on this front?
    Any update on what is happening would be helpful.
    thanks
     
  28. MedoMelo

    MedoMelo

    Joined:
    Jul 5, 2019
    Posts:
    42
    From what I heard the C# class has been created. It means a lot.

    Kidding (sadely)
     
    Last edited: Jun 14, 2020
    ProceduralCatMaker likes this.
  29. Atley

    Atley

    Joined:
    Mar 17, 2015
    Posts:
    1
    Hi all, I'm new to this thread.

    I love this 3rd person controller! So nuanced and responsive. It is so rad that you included animations for women. I'm always wanting that and in my experience, it's rare. Thank you :)

    I'm trying to extend the controller to enable triple jumps. Have any of you attempted that? Any tips? Thanks in advance!
     
    Last edited: Jul 15, 2020
  30. ProceduralCatMaker

    ProceduralCatMaker

    Joined:
    Mar 9, 2020
    Posts:
    108
    2020.1 is also out. any news here?
     
  31. gadlsh12081208

    gadlsh12081208

    Joined:
    Nov 5, 2018
    Posts:
    2
    This Project is dead. Admit it.
     
  32. AppBite

    AppBite

    Joined:
    Jul 5, 2012
    Posts:
    79
    How do I stop the Third Person Camera from dipping when I walk forward? I've changed the CM FL Run, Walk, Exploration all to (none) and that doesn't appear to do it. The camera dip is a big problem getting onto the platforms/lifts in the SimpleMovingPlatforms Scene, one moment you're looking at the platform to walk onto it and next you can't see it as the camera view has shot up. (I've set the Offset to 0,1,-1 as a work around so I'm looking down)

    How do I make the camera orbit behind the character as they are running? if I run to the right/left I end up looking at the side of his head, then the camera whips around after I stop running. Even when using the right controller stick to move the camera behind the player it will suddenly whip in some direction when I stop. I don't want to be able to run towards the camera.

    Thanks.
     
  33. ProceduralCatMaker

    ProceduralCatMaker

    Joined:
    Mar 9, 2020
    Posts:
    108
    no news is bad news ....
     
  34. Shizola

    Shizola

    Joined:
    Jun 29, 2014
    Posts:
    476
    So the last real update was 5 months ago now? The project started in April 2018 o_O

    Based on this blog https://blogs.unity3d.com/2020/08/13/the-road-to-2021/ it wouldn't be surprising if it's been cancelled.

    I can understand if projects are canned or delayed, but lack of communication is really annoying.

    Anyway if it was me I'd just hire @PhilSA and pay him whatever he wants, I'm sure he'd do a great job.
     
  35. ProceduralCatMaker

    ProceduralCatMaker

    Joined:
    Mar 9, 2020
    Posts:
    108
    Yes, @PhilSA is a great guy. Maybe when his DOTS KCC will come out they will think about it.
    Lack of any response is really a shame for a serious company...
     
  36. papathor

    papathor

    Joined:
    Oct 8, 2012
    Posts:
    41
    Can anyone explain how the third person controller is supposed to be extended? I've had some success building on it, but my additions feel hacky and I'm not sure if I'm extending it the "right" way. Is that what the "extensions" on CinemamachineStateDrivenCamera is for? What's the proper method of adding new actions, animations, etc?
     
  37. ProceduralCatMaker

    ProceduralCatMaker

    Joined:
    Mar 9, 2020
    Posts:
    108
    Having spent time implementing on top of this several features on my own I have sadly abandoned hope in its real support by Unity, so I would advise you to look elsewhere unless you are able to get some feedback from Unity.
    As you can see in many posts above up to now we had very little luck on this matter.
    Id is very sad, as this was a promising controller, at least for third Person, with native support for the new Unity Input System and Cinemachine.
     
    Mattias1337 likes this.
  38. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    @willgoldstone any chance to have those character assets to asset store? currently unity lack of basic template for character controller. Just split this packages so people can using it as a basic for prototyping or as a base for character control module.
    Basically split it into multiple assets ie :
    - Base Male and Female characters with the animation assets.
    - Protoland scenes
    Not sure about the basic character controller script, and the packages in the thread are not something basic anyway.
     
  39. Shizola

    Shizola

    Joined:
    Jun 29, 2014
    Posts:
    476
    The latest Humble Unity bundle has a 3rd person controller that looks decent. I'll probably just use that for now when I need something quick.
     
  40. willgoldstone

    willgoldstone

    Unity Technologies

    Joined:
    Oct 2, 2006
    Posts:
    794
    Hey folks, chiming in as I hate to see this one go unanswered - I've been away from this project as I'd handed it off for a while. Today I've followed up with a new team that's planning to take this on and manage it in-house. One of the challenges with the 2018 version was that a) it's over engineered and not great UX and b) we had no internal resourcing on it. Looks like that's changing now and I'm pretty excited about it - and yes, what you are all saying is accurate - this is indeed a big part of missing UX in Unity and I'm hopeful that we'll be solving it in a good way this time. I can't say anymore for now, but I'll share more and invite the lead to post an update here once his team is ramped up (still working on hiring for some of the roles) but I just wanted to share some more optimistic news for default characters as part of Unity.
     
    cxode, NotaNaN, awesomedata and 6 others like this.
  41. ProceduralCatMaker

    ProceduralCatMaker

    Joined:
    Mar 9, 2020
    Posts:
    108
    Amazing to finally see someone at Unity active here. Thanks for the comeback.
    Hope that we will not have to wait other 6 months to get some update on this.
    Let's avoid over-engineering and come up with a good solution, possibly with samples and documentation.
     
    willgoldstone likes this.
  42. Deozaan

    Deozaan

    Joined:
    Oct 27, 2010
    Posts:
    707
    This is sounding a lot like what the New Input System went through. If it follows a similar trajectory then I suppose we'll see it released as a "verified" package for Unity 2022 LTS that still doesn't cover all the functionality that existed in the character controller(s) which came with the standard assets a decade ago in Unity 3.x.
     
  43. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Is this new project going to be based in or around Visual Script code? -- or possibly be converted to VS later?

    Seems like a perfect candidate to test how modular of a system can be made using Unity's incoming VS solution (and also how easy it would be to modify). Seems like the "over-engineered" portion could be done away with if it involves a setup like this.
    I would honestly like to see an ECS-like setup to the systems, making them A LOT easier to modify / expand upon.
     
  44. shawnblais

    shawnblais

    Joined:
    Oct 11, 2012
    Posts:
    324
    Certainly the problem here is trying to do any one size fits all approach. Seems like a better plan would be to build some movement core, that was modular, and could extended to vsrious use cases. Then out of the box you provide 2d controller, simple3d controller, and advanced3dController.

    By trying to make 3 flavors with the core API, it will force you to evolve it, and make sure it has a nice api surface, additionally the 3 examples will go a long way to help us understand how to extend it. Finally, you can go to town on the advanced 3d controller, as devs who donta need it, can just ignore it, focusing instead on the simplified arcade / arpg / sm64 style controller.
     
    Arycama likes this.
  45. Arycama

    Arycama

    Joined:
    May 25, 2014
    Posts:
    185
    I had a quick look at this, as I've been working on developing a 3rd person Controller for a mobile game. (My workplace already have a few released titles with character controllers, we're looking to improve on that front though)

    Out of the box, the movement seems fluid and responsive.

    However, the code seems extremely over-engineered and intimidating. I'm an experienced developer but I have a pretty good character control script in about 100 lines of code, using the built in character controller and root motion, mostly relying on blend trees. The idea of switching to a controller with thousands of lines of code spread over multiple components and complex animation trees is not appealing from a code maintenance/extensibility point of view.

    Eg if we come across a situation that this package doesn't cover, we need to then figure out thousands of lines of code to determine the best way to extend/customise it without breaking anything. Performance is also a concern, as this is for a mobile game which may have 30+ active characters.

    As with some of the above suggestions, I would like to see a modular system which can be adapted to different approaches, rather than a one size fits all approach. This has been the issue with most asset store/existing controllers I have looked at too. They will contain wall running, jumping, crouching, rolling, and many other things which may not be required for a lot of games.

    Our game simply needs a realistic character that can run around. It's not an action game, but we do want a responsive and realistic human controller.

    Also, it really needs a good example of using foot IK. Providing an out of the box solution for characters and then ignoring foot placement is not going to be enough for anyone trying to make a high quality game.
     
    awesomedata and Shizola like this.
  46. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    I'm always wondering about this part, Unity do have IK system but they never include it in their character controller demo/packages
     
    asadmuzammil77 likes this.
  47. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    You'll probably need to start looking into Kinematica / Motion-matching if you want this level of quality. It's in preview, so it's worth a look.
    Having a Character Controller that can access Kinematica (or not) would be quite handy, and worth a little "over-engineering" -- in the sense that it remains modular and entirely removable.


    This is why I suggested a more ECS-oriented / modular approach that would work best in a Visual Scripting solution using the "Tag/Trait" components I keep suggesting in those threads. This is as modular (and as easy to understand) as something can get.

    Components (as they currently exist on a gameobject) are terrible and obfuscate behavior that you need to see (and understand) at a glance. Simply calling a component "Third-person movement" doesn't tell me whether it handles only forward/backward, up/down, strafing, jumping, flying, dodging, taking cover, or whatever -- In general, I need to see the script for that.

    HOWEVER -- I would rather not have to go even that far.

    I would prefer to look at something like this:

    This is my Tag/Trait prototype btw:
    tageditorinspector.png

    Just my two-cents. :)
     
    NotaNaN likes this.
  48. Mattias1337

    Mattias1337

    Joined:
    Aug 13, 2017
    Posts:
    6
    Hmmm... hireing takes months, building good functional team takes months. Then the team vants to start from scratch when everyone in the team wants a rewrite. And now its nearly 2022, it may or may not work with other overenginered stuff i Unity...

    If you at least tell everyone this is abandoned, then that would encurrage other developers to create and sell their own. And people would also buy them instead of waiting and hopping for your telease tgat never comes or will not fit their project. And they would not hsve to relying on porly maintained assts because you are suposed to replace them.

    Have a nice day.

    /Mattias
     
  49. CortiWins

    CortiWins

    Joined:
    Sep 24, 2018
    Posts:
    150
    I've analyzed a few character controllers from standard assets, examples and microprojects and the most annoying part is that if you got 6 different controllers made by Unity themselves, you get 6 different solutions and each has it's own "unique" way of solving "problems" like "oh, theres still a little bug with ground detection, instead of using the built in isGrounded, lets hack in a custom isGrounded that only works for this demo". This is not unique to Unity and its examples and the Unity examples are actually above average. I regularly get examples for industry software and components that are written in a way that no one would ever do in a real world application. It's shockingly common.
     
  50. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419

    While I agree with you -- a "standard" way to solve a problem has never been Unity's approach.

    Instead, Unity's only "standard" is that it throws the toolbag at the developer (with little to no hand-holding and next to no documentation / information) and says "Get to work." -- and we do.

    This needs to change, at least in some measurable way.
    But to be fair to @Unity, a character controller can be done a thousand different ways. Only "6" different approaches is actually a really small sample size of all the possible kinds of character controllers out there. For Unity to take this on is something I commend them for -- from the outset it has to be a really solid, flexible, performant design (that can be easily modified) -- otherwise you simply scrap it and make your own (as is the "standard" now).

    What it sounds like you want (as well as everybody else -- including me) is something far-reaching that anyone can still (easily) modify in the editor/inspector to do their bidding. Preferably without digging into the code.


    The best way to do something like this is with a well-designed Visual Scripting system (that works from top-down) that can expose controls/values and even entire systems in the editor / inspector so that beginners and veterans alike can use the system and modify it at will -- with little programming knowledge.
     
    NotaNaN and ProceduralCatMaker like this.