Mounting System Release Notes 2.0

Mounting System Release Notes 2.0

Update for Pro Mounting System version 2.0 for Unreal Engine 4.  This release brings more improved streamlining of the over all system and a few quality of life enhancements.  It also provides full support for Actor based Mounts and Pawn based Riders.  It also includes improved signaling for mounting and dismounting actions and status codes if they have failed and why.

 

 

Overview

This 2.0 version of the plugin is available only for UE 4.25.  Many of these improvements rely upon the streamlining of logic and interfaces for the new Engine Version.

Improvements

Player Pawn Support

In previous version the player's character was expected to be of the ACharacter type.  This mainly had to do with needing to handle collision and animation for the capsule and skeletal meshes.  Now the Mounting system will support any Pawn as the base rider object.  New functions have been added to the interfaces to facilitate the lost functionality from assuming a ACharacter Type base class.

Mount Actor Support

In previous version the mount was assumed to be a Pawn type which is the base class for any Actor that a Controller can possess.  However in the effort to support nonpossessable actors this limitation has been removed and now the Mounting System only expects that your mount be an Actor base class.  It is important to remember that only Pawns can be possessed by a controller but for anything your character just needs to sit on can be any actor.

Simplified Seat IDs

Seat IDs are now auto assigned starting at 0.  The update system is fairly smart if there is a number already in the list of seats it is skipped, if you enter a duplicate number than the number is corrected to the appropriate value in the chain.  Setting the Seat ID in the SeatManager will also automatically update it's reference to the appropriate Driver Seat Index as well.  The Driver Seat Index can no longer be directly set and instead relies on the use of the DriverSeatId Property.

System Updates

Newly Added Types

  • FMountActorResponse is returned by several functions that can be inspected to determine what caused a mount, dismount, or seat change to fail.
  • IMountingSystemDebugInterface - Interface for debugging the mounting system mostly used internally.

IADMUnifiedControllerPawn

  • GetCharacterMount now returns AActor instead of APawn
  • PrepareToMount and PrepareToDismount now accept an AActor for the mount parameter instead of requiring an APawn
  • Support for PerformMountPawn function has been completely removed as of UE 4.25 and will be deleted upon the release of UE 4.26.  Implement PrepareToMount
  • Support for PerformDismountPawn function has been completely removed as of UE 4.25 and will be deleted upon the release of UE 4.26.  Implement PrepareToDismount
  • Support for IsCharacterMountable function has been completely removed as of UE 4.25 and will be deleted upon the release of UE 4.26.  use IMountablePawnInterface IsMountableActor

IRiderControllerInterface

  • Added OnMountActionFailed
  • Added OnDismountActionFailed
  • Added OnChangeSeatActionFailed
  • Added OnOtherRiderChangedSeats

IMountablePawnInterface

  • Added HasPassangers
  • Added IsDriverReady
  • Added ClearSeatAtIndex
  • Added IsMountableActor
  • Added CanMountActor
  • Added GetRelativeMountDirection
  • Added OnRiderFinishedChangingSeats
  • Soft Depreciated ClearSeatByIndex implement and use ClearSeatAtIndex
  • Soft Depreciated IsMountablePawn, implement and use IsMountableActor
  • Soft Depreciated CanMountPawn, implement and use CanMountActor
  • Soft Depreciated GetRelativeDirectionToMount, implement and use GetRelativeMountDirection
  • Support for GetMountDirection has been completely removed as of UE 4.25 and will be deleted upon the release of UE 4.26.  Implement GetRelativeMountDirection
  • Support for SetSeatOccupied has been completely removed as of UE 4.25 and will be deleted upon the release of UE 4.26.  Implement SetSeatOccupiedAtIndex and/or SetSeatOccupiedById

UMountRiderComponent

  • Added PawnFinishedDismounting
  • Added GetLinkedMountActor
  • GetCurrentMount and GetPreviousMount now return AActor instead of APawn
  • MountPawn and DismountPawn now return FMountActionResponse objets
  • ChangeSeatById and ChangeSeatAtIndex now return an FMountActionResponse
  • You are now required to fill out "RelativeMeshLocation" and "RelativeMeshRotation" properties in the UMountRiderComponent
  • Mounting Behavior is now driven by an Enum EMountingPossessionType instead of a bool
  • Dismounting Behavior is now driven by an Enum EDismountingPossessionType instead of a bool
  • Soft Depreciated DismountFinished use PawnFinishedDismounting instead

UMountablePawnComponent

  • Added GetRiderBySeatId
  • Added GetRiderAtSeatIndex
  • Added SetRiderBySeatId
  • Added SetRiderAtIndex
  • Added RiderFinishedChangingSeats
  • Seat IDs now auto generate
  • Soft Depreciated GetRider. Use GetRiderBySeatId or GetRiderAtIndex instead
  • Soft Depreicated SetRider.  Use SetRiderBySeatId or SetRiderAtIndex instead
  • Soft Depreciaqted SetSeatOccupied.  Use SetSeatOccupiedAtIndex or SetSeatOccupiedById
  • Soft Depreciated ClearSeatByIndex.  Use ClearSeatAtIndex instead

URiderControllerComponent

  • Added GetMountActor
  • Added SetMountActor
  • Added PerformMountActor
  • Added PerformDismountActor
  • Added GetLinkedMountActor
  • Added SetLinkedMountActor
  • Soft Depreciated GetMountPawn.  Use GetMountActor instead
  • Soft Depreciated SetMountPawn.  Use SetMountActor instead
  • Soft Depreciated PerformMountPawn.  Use PerformMountActor instead
  • Soft Depreicated PerformDismountPawn.  Use PerformDismountActor instead.

Known Issues

  • No currently known issues

See Details for Pro Mounting System

Previous Version Release Notes 1.5

Next Release: Mounting System Release Notes 2.1