Search Unity

(Kinematic & Root Motion) Game Movement - Characters, Ladders & Vehicles

Discussion in 'Assets and Asset Store' started by IntuitiveGamingSolutions, Jun 30, 2022.

  1. IntuitiveGamingSolutions

    IntuitiveGamingSolutions

    Joined:
    May 29, 2022
    Posts:
    73
    A high quality and complete movement solution for almost any style of game.

    Sick of Unity's plain old CharacterController?
    Want AAA game movement options without the headache? Game Movement to the rescue! This asset features a highly extensible movement base that gathers inputs from an input driver which gathers inputs from either the legacy or new Unity input system (or even a custom input driver coded by you!) and passes it to an active 'mover' allowing for movement inputs to be handled uniquely based on your character's situation.

    New input system? Old input system? Custom input system? This asset supports them all!

    Want to drive a vehicle? Simple! Push a VehicleMover onto the movement controller's stack and you're driving.

    Don't feel like coding ladders? No problem, this asset includes a powerful LadderMover and ladders in the demo scene showing both ladders and monkey bars!

    Moving platforms? Sliding on slopes? Physics interactions? Anti-gravity? Crouching? Double Jumps? Tripple jumps? Stamina? This asset has it all. Don't waste your time implementing these features yourself when the provided CharacterMover provides easy-to-use, extensible, and customizable implementations of all these features. Features like slope sliding and physics interactions provide tags and components to override behaviors for specific objects

    Realistic physics interactions. The asset's CharacterMover allows the developer to control the extent to which the character interacts with the environment from the downwards force they apply on RIgidbodies to their ability to push Rigidbodies in the world or walk up steep slopes. The powerful pushing system lets you control exactly what the player can and can't push in the world!

    Advanced pushing. The character's push strength determines how massive of Rigidbodies they may push. If enabled masses will combine as the character pushes objects with a CharacterMoverCompoundMass component attached into other Rigidbodies. The player's push angle also scales pushing power if this setting is enabled.

    Not enough? Implement your own IMover type to handle gathered movement inputs in your own unique way, or suggest Movers you want to see to us add and we may just implement them! For example, we plan on adding a SwimMover in the near future. Simply pushing your custom IMover onto the movement controller's movement stack will make your custom mover take over controls of the character.

    Quick setup!
    A simple character can be made by adding as few as 3 components:
    • InputGatherer - on character prefab.
    • MovementController - on character prefab.
    • CharacterMover - on character prefab.
    A character that can drive vehicles? Just add 3 more.
    • VehicleMover - on character prefab.
    • VehicleUser - provides public methods to enter a vehicle.
    • Vehicle - on vehicle prefab.
    Ladders? Just 3 more.
    • LadderMover - on character prefab.
    • LadderUser - on character prefab.
    • Ladder - on ladder prefab.

    The demo scene has fully-functional examples.

    Love Unity Editor Events?
    We do too. This asset provides events for everything, both UnityEvent style and relevant C# delegate event style where parameters may be modified. Like all of our assets, GameMovement is extremely coder-friendly.

    Want to add visual or audio effects? GameMovement gives the user access to a comprehensive list of editor events that cover all events you could possibly want an action to occur on. Using these you can add effects for jumping, sliding, falling, multi/double jumping, sprinting, crouching, uncrouching, and likely any other movement-related event you could imagine.

    Customizable MovementController. Making a networked game? Implement your own simple IMovementController interface in just a few lines of code to take over input simulations and simulate inputs at whatever tickrate you need.

    Why waste your time? implementing movement yourself when you can get this complete solution for as little as many people earn in 1 hour of work.

    Well documented. Comes with a demo scene, hand-written documentation, and a generated API reference.

    Highly customizable. FPS game? No problem change the referenced 'Move Relative To Transform' in the CharacterMover to your FPS camera and you're done. Want to make a side-scroller? Simple, just unbind movement inputs on the axis you don't need.

    And more! This asset also comes with a 'PathMove' system that allows a user to set up waypoints and have a Transform or Rigidbody follow them in a variety of ways.

    Extensions
    • AIControl - An extension that allows a user to take control of a NavMeshAgent using a CharacterMover or relinquish control back to the AI.
    • RootMotionMover - An IMover implementation that transitions seamlessly between root motion movement and kinematic character controller based on the characters situation.
    FAQ
    Q: How can I upgrade to Unity's new input system?

    • This will take care of itself however you may want to upgrade the provided demo.
    • To upgrade the provided demo to the new Unity "Input System" once you've upgraded your project to include Unity's "Input System" package simply double click 'Package_NewInputSystem.unitypackage' and import it, this will overwrite relevant demo prefabs with versions that use the InputSystemInputGatherer.
    Q: How can I suggest new Mover implementations?
    • The package currently contains a CharacterMover, LadderMover, and VehicleMover. To suggest a new implementation email your suggestion to intuitivegamingsolutions@gmail.com
    Other Assets:
    Editor Physics Simulator - Simulate and record physics in the editor.
    Editor Animation Freezer - Freeze Animators at a specific frame in an animation.
    Console Commands & UI - Console commands & UI panels for Unity.

    Documentation:
    API reference
    Documentation

    Asset store link: https://u3d.as/2R9r

    **Don't hesitate to contact us at intuitivegamingsolutions@gmail.com with any questions, concerns, suggestions, or comments! We're always happy to help make our assets work for you.**
     
    Last edited: Jul 12, 2022
    Crazycarpet likes this.
  2. IntuitiveGamingSolutions

    IntuitiveGamingSolutions

    Joined:
    May 29, 2022
    Posts:
    73
    Version 1.1.1 has been published to the Asset Store and will go live after Unity finishes it's review.

    Changelog:

    • 1.1.1
      • Fix bug where AIControl extension would not disable movers after returning control to AI.
      • Improve ladders, add invert inputs option.
      • Add simple side scroll demo which disables forward/back movement via the Legacy Input Manager component.

     
  3. IntuitiveGamingSolutions

    IntuitiveGamingSolutions

    Joined:
    May 29, 2022
    Posts:
    73
    Today is the final day for the 50% off sale! Big thanks to all of the early adopters who purchased the asset to support us and helped us improve the asset through great feedback.

    The next update v1.1.9 will come out within ~7 days and will feature the following:

    1.1.9
    Added

    • Add Player_SRK_OverheadCamera prefab (Space Robot Kyle)
    • Fully animated humanoid demo scene with complete animation controller.
    • Split ground detection into IGroundDetector, CharacterMoverGroundDetector. This allows uisers to easily implement custom ground detection.
    • Add ability to rotate a Transform to face ladder component's specified forward direction to LadderMoverAnimator script.
    • Add option to normalize move input to LegacyMoveInputGatherer.
    • Add CharacterMover.rotationSpeed to smooth rotations, 0 for snap-to-rotations.
    • Add RootMotionMover and RootMotionMovingPlatform.
    • Add fully animated RootMotionMover demo humanoid prefab (Space Robot Kyle).
    • Add CharacterMover.SprintSpeed to retrieve calculated sprint speed for mover.
    • Add 'MoveSpeedFactor' (float) animation controller value to CharacterMoverAnimator demo and demo animation controllers. (Calculated as CharacterMover.Mover.velocity.magnitude / CharacterMover.SprintSpeed)
    Fixed
    • Fix LadderMover.StayedClimbing not being invoked.
    • CharacterMover.RotationMode.FaceMove facing zero inputs when rotateOnNoMove is disabled.
    • AIControl extension not zeroing inputs after releasing control.
    Keep an eye out for our soon-to-be released asset "Damage System - Damage, Guns & Gibs" currently in the curation queue that adds realistic bullet simulation, bullet pass-throughs, projectile weapons, melee weapons, grenades, a complete damage and death solution, and highly customizable gibing.
     
    Last edited: Sep 1, 2022
  4. IntuitiveGamingSolutions

    IntuitiveGamingSolutions

    Joined:
    May 29, 2022
    Posts:
    73
    v1.1.9 has been submitted for review.
     
  5. IntuitiveGamingSolutions

    IntuitiveGamingSolutions

    Joined:
    May 29, 2022
    Posts:
    73
    v1.1.9 is now live!
     
  6. IntuitiveGamingSolutions

    IntuitiveGamingSolutions

    Joined:
    May 29, 2022
    Posts:
    73
    v1.2.0 has been submitted for review.

    This update improves the API in general and adds a networking demo that uses Unity's Netcode to implement networked movement with client prediction and reconciliation. The price will be increasing to $40 after the update is approved.

     
    Last edited: Sep 10, 2022