Character Controllers: the gateway to your digital worlds. It’s no secret that your game’s players will spend the majority of their time interacting with these components, and the goals of the Multi-State Character Controller, since the beginning, have been to be fluid, smooth, open-ended, fine-tunable, and most importantly, accessible.
The function of any character controller starts with the player’s input, and from there, each system becomes more unique. The Multi-State Character Controller is first and foremost a third-person controller, but even that is a broad term as third-person controllers can vary wildly in their implementation. The Multi-State Character Controller supports four common control schemes, in this package, labeled:
Modern Camera-Locked: When using this control scheme, the player will always face the same direction as the camera, independent of player movement. This control scheme will typically be found in third-person shooters.
Modern Camera-Unlocked: When using this control scheme, the player will rotate to face the same direction as the camera as the player moves. This control scheme will typically be found in modern third-person RPGs.
Classic: When using this control scheme, the player will respond similarly to that of classic MMORPGs in which player movement is normally independent of the camera, but movement can be associated with the camera depending on mouse input.
Classic Platformer: When using this control scheme, the player will rotate to face the movement direction. This control scheme is typically encountered in classic third-person platformers.
One important thing to note is that the control scheme can be switched seamlessly at any time.
Another factor of fluidity with regards to the Multi-State Character Controller is, of course, the various states it can switch between including:
Grounded State: This is the typical ground-based movement which also includes the substates: Walking, Running, Crouching, and Sprinting.
Sliding State: The player will slide down steep inclines.
Falling State: This state is rather self-explanatory, but something to note is that a simple health script with fall damage implementation is also included in this package.
Flying State: This controller supports flying movement, with provisions for adjusting acceleration, deceleration, ascension speed, and descent speed, independently of the other states. Constant forward and downward force can be applied as needed to support a variety of possible applications, and animation can be easily replicated in all directions using one of four included methods. Please be aware, however, that this is not intended to be a realistic flight simulator.
Swimming State: This controller also supports swimming movement, with provisions for adjusting acceleration and deceleration independently of the other states. Animation can be easily replicated in all directions using one of four included methods.
Ragdoll State: This is another self-explanatory state, but something to note is that the included sample health script will trigger this state upon “death”.
On Rails State: Rail-systems in their simplest sense can be described as linear motion along a path, and from that simple, open-ended definition, hundreds of potential uses can be implemented including, but not limited to, ladders, ledge traversal, ziplines, cinematics, and linear climbs. The player rotation can be locked, free, targeted, or facing the next rail-system waypoint, motion can be advanced by time or key input in both directions, other objects can follow their separate path in relation to the player’s path, and the camera can transition into following the player from its separate path.
Another goal of the Multi-State Character Controller is to be as smooth as possible in almost all possible aspects. From the motion of the character to the camera’s transitions in and out of rail-system paths, jarring disruptions have been minimized at every point.
What would be the point of having a multi-state controller, if the number of states themselves was limited? With this thought in mind, advanced users will find that adding their unique custom movement states is as simple as defining its parameters and priority, and implementing its functionality, with little disruption to the standard states.
Tweak this controller to perfection, with a massive amount of settings, all of which explained with written and video guides below.
One of the highest priorities for the development of the Multi-State Character Controller was its accessibility from its sale price to its function. Both advanced users and beginners can easily implement and adjust this controller to fit a wide variety of games, and in addition to our online documentation, found below, you can email us with your questions at