Search Unity

  1. Unity 2018.3 is now released.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. We've updated our Terms of Service. Please read our blog post from Unity CTO and Co-Founder Joachim Ante here
    Dismiss Notice
  4. Want to provide direct feedback to the Unity team? Join the Unity Advisory Panel.
    Dismiss Notice
  5. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice

[RELEASED] Ultimate Character Controller (UFPS 2 / Third Person Controller 2)

Discussion in 'Assets and Asset Store' started by opsive, May 29, 2018.

  1. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    Ultimate Character Controller
    Available on the Asset Store
    Available on the Opsive Store


    For technical support please post on the Opsive Forums or Discord for community support.

    The Ultimate Character Controller is the most powerful character controller on the Asset Store. It is a professional, deterministic character controller designed to include the smoothest first and third person controls and to excel in all areas: PC, mobile, console, AI, networking, and VR.

    The Ultimate Character Controller was built from the ground up leveraging the best parts of UFPS and the Third Person Controller, both of which have been on the Asset Store for many years and have resulted in a solid code base. A no compromises approach was taken during development when determining how to implement a feature: opting to have an extremely polished asset instead of quickly rushing a particular feature out the door.

    The Ultimate Character Controller contains many unique features not typically found in other character controllers. Both first and third person view types are included allowing you to seamlessly switch perspectives. The spring system allows for fluid, procedural animations while in first person view. The ability system allows you to add your own functionality without having to change any of the included scripts. The locomotion component performs its own collision detection which enables features such as gravity manipulation and per-character time scale changes. Use the editor scripts to create your character and items in seconds.

    The Ultimate Character Controller comes with more than 200 pages of documentation plus tutorial videos to help you easily get started on your project. We can’t wait to see what you create – make sure you submit your project to our Showcase!

    UCCChart.png

    UCCUpgradeFlow.png
     
    Last edited: Sep 20, 2018
  2. Treacle-Games

    Treacle-Games

    Joined:
    Aug 24, 2015
    Posts:
    23
    How is update pricing going to work for Ultimate Character Controller?
    Will get a discount if you already have UFPS or THC?
    Will you get a bigger discount if you have both?

    Its looking great can't wait to try it out........

    Regards
     
  3. J0linar

    J0linar

    Joined:
    Dec 12, 2013
    Posts:
    39
    Regarding the VR Addon,
    will it support Oculus GO/Gear VR?
     
  4. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    That's a good question. I haven't played with the upgrade system within the Asset Store admin portal yet so I don't know how it is all going to fit together, but we'd like to offer a way to upgrade from UFPS or TPC to UCC.

    I think that we'll offer a small discount if you already have UFPS or TPC. After we release the beta I'll put together a post that includes what assets we will be submitting as well as how to upgrade from one to another. Honestly we're still trying to figure out the best way on this :)

    Thanks! We can't wait to get it released!
     
    TeagansDad and Treacle-Games like this.
  5. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    Yes, it should. I've tested it on a Gear VR and though I don't have a Oculus GO I imagine that it'll be a similar setup. We will be focused on releasing the VR addon pretty quickly after we release v2 because this addon is already pretty far along. For completeness I've tested it on these platforms:

    Oculus Rift
    HTC Vive
    Oculus Gear VR
     
    Treacle-Games and Mark_01 like this.
  6. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    The Ultimate Character Controller is a kinematic, deterministic character controller. This basically means that the movements can be predicted and they can also be replayed. This is extremely useful in a networked environment where the server needs to ensure the position and rotation are valid on the client.

    When we first started on the Ultimate Character Controller one of the first things that we did was take apart the UFPS locomotion system to understand how it works since UFPS is known for its ultra-smooth movements. UFPS uses the Unity Character Controller component for its locomotion but for the Ultimate Character Controller we wanted to have more flexibility so we developed our own locomotion system which does its own collision detection. You can do some really neat things with this and I'll get to that in a later post. For now here's a gif showing the editor view of the character walking into a wall:

    2018-05-30_11-42-50.gif

    When the character approaches an object a red debug line will be drawn with the direction of the normal that was hit. On the locomotion component there is a Wall Glide Curve field which allows you to determine how much extra force is added when the character slides against a wall. As the character slides against the wall there is then a yellow debug line that appears on the second object that the character would collide with. The character will eventually settle between the first and second object because there is no where else for the character to go.
     
    Last edited: May 30, 2018
    TeagansDad, rrahim and syscrusher like this.
  7. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    879
    This looks terrific, Opsive folks! I've seen nothing but great code from you so far, and I can't wait to get my hands on the beta and start testing. I'm eagerly awaiting the network capability and have voted on the blocking Unity bug to help get them moving on a fix.
     
    opsive likes this.
  8. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    Thanks! It has really evolved a lot since you last saw it at Unite last year. Thanks also for the network vote - for anybody else the direct link to the issue tracker is here:

    https://issuetracker.unity3d.com/issues/animation-animator-transition-does-not-get-interrupted
     
    Mark_01 likes this.
  9. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    The ability system within the Third Person Controller has worked out really well so was it definitely brought over to version 2. For those unfamiliar with the ability system it is a way to extend the controller without having to change any of the core classes. The ability system can be used for simple functionality, such as an idle, to more advanced functionality, such as climbing or swimming.

    In version 2 the ability system has largely stayed the same in terms of how it works, though some new features have been added. Here's a look at what the ability list looks like within the demo scene (the Ride ability won't be in this beta):

    Abilities.PNG

    New abilities in version 2 include:

    Revive, Move Towards, Item Equip Verifier, First Person Lean, Start Movement, Stop Movement, Quick Turn, Restrict Position, Restrict Rotation, Slide, Idle.

    Out of these the Move Towards and Item Equip Verifier abilities are special abilities in that they are activated by other abilities. The Move Towards ability will move the character towards a position so another ability can start (such as moving the character to the correct location in front of a door so the animation will play from the correct location). The Item Equip verifier ability will ensure the correct item slots are equipped/unequipped for that ability.

    Another new piece of functionality includes this foldout with general options for each ability that allows you to specify how the ability affects the controller:

    AbilityGeneral.PNG

    In version 1 of the Third Person Controller the abilities were separate from the character using an item (such as fire, reload, aim, etc). In version 2 there are now a special type of ability class called Item Abilities and it has been working out really well:

    ItemAbilities.PNG

    Item Abilities inherit all of the functionality from the ability class, except they also have easy access to the objects related to the items (such as the inventory). In the VR world you are physically performing most of the actions yourself (such as aiming or equipping the next weapon) so a set of Item Abilities have been developed specifically for the VR addon:

    VRItemAbilities.PNG
     
  10. desertGhost_

    desertGhost_

    Joined:
    Apr 12, 2018
    Posts:
    17
    What can be expected in terms of third party asset compatibility? Would a third party asset that had easy UFPS 1 integration / support easily be integrated with UFPS 2 (I assume that some alterations would need to be done to scripts / editor settings for the third party assets to be integrated with UFPS 2)?
     
  11. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    Is there an integration in particular that your interested in? In general any art assets (hands, weapons, characters) that worked with version 1 will work with version 2 as well. In 99.9% of cases any asset that adds integration via scripting that integration will need to be updated.
     
  12. Mohamed-Anis

    Mohamed-Anis

    Joined:
    Jun 14, 2013
    Posts:
    57
    @opsive will this support Unity's playable API? I've been looking for a character controller that will support the Playable API in the asset store and haven't really been able to find it :(
     
  13. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    The controller does still use an Animator. A Playable API version could definitely be added in a future update but from what we've played with the Playable API is great for runtime/dynamic content but it doesn't as useful for a pre-authored character animations. I'm definitely not an expert in it though so am I missing something on that? We could definitely add support for it sooner rather than later if there was a large use case for it.
     
  14. Mohamed-Anis

    Mohamed-Anis

    Joined:
    Jun 14, 2013
    Posts:
    57
    Yupz.. I'm looking at dynamic content as the major use case. It can be painful to hook up lots of animations statically or animations tied to environment (or particular gameplay areas where the player is wounded and has to somewhat drag one feet while walking).While in theory it's possible to hardcode most of this it'll be great to be able to do it in a generic way :p
     
    opsive likes this.
  15. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    UFPS and the Third Person Controller will be sold separately on the Asset Store but they will share many of the same components. If you have both assets imported you'll be able to seamlessly switch perspectives, such as going from third to first:


    (edit: it doesn't look like the gifs are showing for me - you can see this image by clicking here).

    This works between all perspectives - here's another example of switching from third person to 2.5D:


    (edit: it doesn't look like the gifs are showing for me - you can see this image by clicking here).

    This perspective change occurs by changing view types:

    ViewTypes.PNG

    In the Third Person Controller you could use your own independent camera controller by attaching the Camera Monitor component to your camera but in version 2 the Camera Monitor component doesn't exist. If you'd like to use your own camera controller with version 2 what you'll now need to do is create a new view type that acts as the bridge between your camera controller and the version 2 camera controller. I don't think that I'll have it done for release but shortly after release I plan on doing this and create a Cinemachine integration.
     
    Last edited: Jun 1, 2018
    TeagansDad, Mark_01 and syscrusher like this.
  16. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    879
    Would the foot dragging thing be implementable by using a separate animation layer for wounding, with a direct blend tree having sliders per body part, and then control the amount of wounding by using C# to dynamically set the layer's blend weight? I just used this technique in a project for something unrelated to wounding, but it worked pretty well for me as long as I had the avatar masks right.
     
  17. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    879
    I'm a little confused by this, Justin. A lot of the Playables also use Animators to control the keyframing of parameters. I'm not disagreeing with your design choice, just unclear on this specific post. :)
     
  18. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    You're right - I misspoke in my previous post - instead of Animator I should have said Animator Controller. I could see using the Playables API to blend the Animator parameters, but when I tested the API I just used it to dynamically play/blend animation clips. In this case no Animator Controller was used at all.

    Version 2 isn't tied to the animator controller - it can't be because in a first person view you aren't required to have a character model. This should make switching it out for another animation system possible, though I'd probably have to create an abstract animation class so the ability system doesn't depend on which animation implementation is being used.
     
    Last edited: Jun 1, 2018
    syscrusher, TeagansDad and Mark_01 like this.
  19. Mark_01

    Mark_01

    Joined:
    Mar 31, 2016
    Posts:
    402
    On the topic of what integration's might be wanted for the new versions ..

    Personally, I would like to see Emerald AI and Horse Animset Pro integration, I don't see either developer leaving
    Unity anytime soon :) So to me I think this integration ads value to each of the developers packages.

    It is my understanding that both of these developers are aware and it is being planned. Just saying I think
    many people would like to see happen, and am really excited about this!:)
     
    opsive likes this.
  20. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    576
    Pro Tip - Use http://imgur.com for images. Automatically converts them to gifv and such.
     
  21. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    I just tried imgur but the images still showed up missing for me. It looks like it may be specific to the forum - when I open the preview window for that post it plays correctly. :confused:
     
  22. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    576
    Ah, yeah, sorry, I should have been more specific. It won't make them appear properly, but whatever site you were using just sucked and is slow, lol.
     
  23. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    I've learned not to use gifs on this forum ;)
     
  24. ZhavShaw

    ZhavShaw

    Joined:
    Aug 12, 2013
    Posts:
    115
    Considering your movement system it's deterministic, will we be seeing authoritative movement examples?
     
  25. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    Over the network? Yes, as soon as Unity fixes this bug I'll be able to continue to work on the multiplayer addon :)
     
    ZhavShaw likes this.
  26. cmckelvy

    cmckelvy

    Joined:
    Nov 7, 2016
    Posts:
    8
    Opsive,

    This is great news! Any chance of a slightly meatier discount if we own BOTH UFPS and TPC?

    Will the new controller have out of the box integration with Behavior Designer?

    Thank you!
     
  27. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    576
    I don't think the store has that capability to begin with. If that were the case I would ask if you own Behavior Designer, UFPS, and TPC then just make it free. : P

    I did see him say on the forums that yes, it is integrated with BD out of the box.
     
    cmckelvy likes this.
  28. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    @MostHated is correct in that it depends on how to store is setup. I haven't gone through the upgrade section before but I do think that it's just one asset to another, and you can't take into account multiple assets. This post has some more info on upgrades.

    Definitely! In fact I was just working on that integration yesterday and it won't take too much more to get going.
     
    cmckelvy likes this.
  29. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    879
    (nod) I'm looking into writing myself some custom Playable objects. It's a pretty versatile API, but not always intuitive.

    That would be really interesting, though I entirely agree with you that it's not a 2.0.0.0.0 thing! :)

    Some of the procedural animation tools are looking very intriguing these days, and as I think I've mentioned before I'm interested in someday (in my Copious Spare Time) looking at a procedural animation set based on Behavior Designer. I expect procedural animation is going to take a huge leap forward with the Unity job system and entity components, given the performance I've seen demonstrated at Unite using UJS and ECS.
     
  30. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    Yeah.. the jobs system and ECS is going to make for some pretty interesting situations. It makes sense to a Jobs System/ECS update for Behavior Designer before the Ultimate Character Controller, but I imagine that eventually the Ultimate Character Controller will support it as well. Focused on getting it out with the the current tech first though!
     
    Mark_01 likes this.
  31. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    576
    How deep is the networking portion going to be tied to UNet? Since you have not gone to far into the networking aspect of it yet, is there still time to ask if it can be made with the ability to utilize different networking systems in mind?
     
  32. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    It's not tied to UNet at all. As I was developing the UNet portion I was also making an abstract networking layer and implementing Photon PUN and Bolt at the same time.
     
    mcbauer, NoobDoAAA, recon0303 and 2 others like this.
  33. Mohamed-Anis

    Mohamed-Anis

    Joined:
    Jun 14, 2013
    Posts:
    57
    Yeah.. it'll probably work.. but still prefer doing it through scripting :)
     
    syscrusher likes this.
  34. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    879
    I regret that I could only give one "like" to that post! You have made me (a network guy by background) so very happy to know I can connect UCC to my own customized network layer!
     
    opsive likes this.
  35. PlinkoPenguin

    PlinkoPenguin

    Joined:
    Oct 7, 2013
    Posts:
    4
    Hello, I have a few questions and hopefully this is where I should ask...

    Sorry if I'm misunderstanding but will the beta be on the asset store for select people or for everyone?

    Another question: should I wait until the second version gets released? I've been looking into UFPS and such for a while but now that I saw news of a new version I'm wondering if I should just wait until then?

    And a third: is this going to integrate with Playmaker at all? I think the current ones work with it but I'm not 100% on that.

    Thanks for any info!
     
  36. ZhavShaw

    ZhavShaw

    Joined:
    Aug 12, 2013
    Posts:
    115
     
    Malbers, opsive and MostHated like this.
  37. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    We will be releasing a WebGL demo on Tuesday but only sending out the project to a couple of people. This will keep the feedback focused so we're more efficient at fixing any issues. It would be great if you can try out the WebGL demo though and let us know of any bugs - I've been running through the demo and fixing minor things here and there but overall there shouldn't be any major issues (at least I hope.. we'll see on Tuesday :D)

    I think that depends on the timing of your project but if you've been holding off for awhile then it's not much longer until version 2.You may want to purchase UFPS 1 now to get familiar with how the system works or if you have a quick project.

    I'm not sure if we'll have a Playmaker integration upon release but if not it should be pretty quick to add after the fact. Playmaker actions and Behavior Designer tasks are very similar.
     
    PlinkoPenguin likes this.
  38. immFX

    immFX

    Joined:
    Mar 20, 2010
    Posts:
    108
    No swim and no Climb ability? How difficult would it be to have those, considering that they work as a charm already in TPC?

    Without them, this is not a complete third person controller imho and it is not an upgrade for me atm, sorry. I will wait for v.2
     
  39. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,247
    i really hope the ufps v2 control for mobile platform will be as good as the v1. can we have an android build to test how smooth are inputs? this is principaly the only thing that would make me update.
     
  40. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    Swimming and climbing will be added later through an addon. If you have scripting experience you could probably take the existing swimming and climbing systems in v1 and convert it to v2. The ability system API has changed for v2 but the overall concept is the same.
     
    recon0303 likes this.
  41. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    Mobile controls will be built into v2 instead of requiring a mobile addon like UFPS v1 does. We don't have the UI done for the beta so we won't have an apk to test against but we'll create one before the final release.
     
  42. SirTwistedStorm

    SirTwistedStorm

    Joined:
    Sep 20, 2015
    Posts:
    165
    will your addon have both first and third person animations?
     
  43. witcher101

    witcher101

    Joined:
    Sep 9, 2015
    Posts:
    440
    So how good is this compared to ufps and thirdperson controller. Is this just gona be stripped out version of ufps with third person view??
     
  44. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    Definitely! Every addon that we create (including VR/multiplayer) will support both the first and third person view.
     
    Mark_01 and SirTwistedStorm like this.
  45. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    That's a tough question.. This controller is basically a new asset. We took the best parts from UFPS and TPC and joined them together. With the initial version we may not have as many advanced features (such as climbing or swimming) but we'll get there and the base is extremely solid.
     
    IrishDev, immFX, Mark_01 and 2 others like this.
  46. PlinkoPenguin

    PlinkoPenguin

    Joined:
    Oct 7, 2013
    Posts:
    4
    Thank you for your answers! I did misunderstand so thanks for clearing things up. Can't wait to try the demo and see how it feels!

    On that note, do you guys have the demo for the old UFPS? Unity Webplayer isn't supported and I couldn't find it anywhere else. I was wanting to try it when I first looked up UFPS but it wouldn't work even when I tried using old browser versions.

    Apologies if this isn't really on topic but thanks again if you reply!
     
  47. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    Sure, here's a Windows build of the SkyCity scene in UFPS 1.
     
    PlinkoPenguin likes this.
  48. PlinkoPenguin

    PlinkoPenguin

    Joined:
    Oct 7, 2013
    Posts:
    4
    Thank you!
     
  49. transat

    transat

    Joined:
    May 5, 2018
    Posts:
    103
    Are these going to be paid add-ons?? I had originally opted for TPC because it was all there already unlike some other third person controllers.
     
  50. opsive

    opsive

    Joined:
    Mar 15, 2010
    Posts:
    4,515
    They will be. We plan on packing a lot into each addon though so it'll be worth the small amount that it costs. These addons will include more than just one or two abilities.