Table of Contents

Introduction

This character controller provides a more classic approach to movement similar that of Valve’s Half-Life or Croteams’s Serious Sam, however replicating this in modern engines can be a bit of a pain as the built in controllers usually fall flat with tiny issues that lessen from the user experience, and full rigidbody controllers can be hard to execute properly.

This plugin aims to provide a ready to go package to act as an alternative to the built in character controller found in Flax Engine, based on “Improved Collision detection and Response” by Kasper Fauerby and “Improving the Numerical Robustness of Sphere Swept Collision Detection” by Jeff Linahan.

To avoid re-inventing the wheel where possible (and to provide similarity to users) this plugin also pulls in inspiration from the free “Kinematic Character Controller” for Unity by Philippe St-Amand by mirroring the idea of using interfaces to control the KinematicMovers and KinematicCharacterControllers, along side pulling other ideas like using a callback to filter collisions.

Note

You will need to provide your own logic for actually moving the character, this is simply just a “lower level” alternative to the built in character controller