PNMS Guide version 2.3

The Pro Networked Mounting System (PNMS) Guide will guide you in how to setup the PNMS system to be used in your game.  To follow along with this series will need to have purchased the plugin from the Unreal Marketplace. Then you can then create a new project or download the demo project.  The starting project provided is already configured with proper collision settings, a prebuilt interaction system, and assets that can be used.

When Setting up your own project to follow along you will simply need the following assets in either C++ or Blueprints

  • A Rider - Usually this is the pawn your players will be playing most of the time when not controlling a mount
  • A Mount - an Actor, Pawn, Character, or Vehicle that represents your mount.  Only Pawns, Characters, and Vehicles can be controlled and driven
  • A Controller - This is generally your Player Controller but can also be an AI Controller for your AI characters who need to mount as well.  The process is identical for setting these up.

This Guide Covers

This tutorial will cover the basic setup of the PNMS system to get it integrated into any project in a working state.  This means at the end of the tutorial you should be able to perform the following:

  • Define Seat Settings
  • Mount
  • Dismount
  • Change Seats

This Guide does not Cover

Animation Support

The PNMS system allows for custom animations to be implemented but it is also an optional feature you can opt to use or opt to not use.  The system will automatically proceed with the processes if there are no animations to play.  

Setting up support for Animations is a very project specific activity that needs to be properly designed in for your games needs.  However, should you need help in this area the Advanced Mounting System (free download) provides an example of how to accomplish Custom Mounting, Dismounting, and Seat Changing animations for mounts.

Move to Position Support

The PNMS system allows for your character to be moved into position before starting the mounting process.  However, it does not implement this feature out of the box as any thing along these lines could conflict with other plugins and starter kits.  

Should you need a version of implementing this feature, however, the Advanced Mounting System (free download) provides an example of how to accomplish Moving a pawn into position.

Interaction Systems

These guides will not go over how to create an interaction system, that is outside the scope of the core responsibilities of the PNM System.  It will however cover what you need to call by your interaction system in order to start the Mounting, Dismounting, and Seat Changing Processes.  Additionally the available demo projects provide an basic interaction system built in blueprints that you can use as a starting point for your own interaction system if you wish to. 

If you wish to see how it works download the demo projects and inspect the AdsPrototypeTools plugin or folder and look at the blueprint files of the InteracitonSystem.

Custom Mount or Vehicle Movement

Mount and Vehicle Movement is not part of the PNMS System.  The Demos leverage some existing systems within Unreal to get basic movement setup which include the Character base class and the WheeledVehicle Base class which are both pawn types that have their own movement component to control and manage movement.  There is nothing stopping you from implementing a more complex movement system of your own as the PNM System is movement agnostic and does not care about how you move your mounts.

Disclaimer

I am not a professional animator so the animations and the way I implement the the various animations may not look ideal.  However the system is built in such a way that a good animator and Engineer or a good Technical Artist should be able to implement them so that it looks much better.

Demo Projects

The Demo project can play a big role in understanding how the PNM System works.  This guide attempts to show you how each part of the system is implemented and explain what each function does, but some times as a developer you just have to see the system in action and what the functions look like.  That is why much of the guides will reference where you can find some of the details within the Demo Projects.

To download the Demo Project please see Download Section on the about Page.