(Deprecated) Rival - DOTS Character Controller for Unity
Unity Technologies
$0.0
Jump AssetStore
Rival is a DOTS character controller built for extensibility & performance, and made with networking in mind. It comes with a samples project that includes a 3D platformer and an online FPS.-------------------------DEPRECATION NOTICE-------------------------This package now exists as an official unity package, available through the Package Manager. The package name is "com.unity.charactercontroller", and can be added using the "Add package by name" option in the Package Manager window.New DocumentationNew Samples ************************************************-------------------------IMPORTANT-------------------------This is a DOTS asset that uses DOTS physics. It can only be compatible with projects that were also built with DOTS physicsThis asset is compatible with Unity 2022.2. Compatibility with other Unity versions cannot be guaranteed-------------------------What is 'Rival'?-------------------------Rival is a DOTS character controller solution built for extensibility & performance. It is not tied to any specific game genre, and can be modified or extended to support almost any character movement feature you could imagine. At its core, it does not deal with input, animation, or cameras. However, it does come with sample/starter content to demonstrate ways of implementing these. It focuses on solving the difficult character physics & code structure problems, and leaves all of the game-specific logic in your hands.It is also made with networking in mind:holds minimal state dataputs you in full control of the character update loopallows support for network predictiongives you enough low-level control to allow you to add support for any networking solution (it is not tied to a specific networking package)Rival is compatible with both DOTS physics solutions: unity.physics and havok.physics[Documentation][Samples]-------------------------Who is it for?-------------------------This asset is targeted at programmers who have good 3D math knowledge. When using Rival, you will be implementing all of your custom character velocity/rotation logic through code directly.-------------------------How is it used?-------------------------Rival comes with "StandardCharacter" packages that contain simple plug-n-play FirstPerson and ThirdPerson characters & cameras. You can export those into your project, and start customizing their prefabs, systems & components to suit your needs. A full tutorial is available on the documentation website.-------------------------Samples-------------------------Rival comes with sample projects that can be downloaded optionally. The samples include a 3D Platformer game, an Online FPS game, a Stress Test scene, and a Basic playground with vehicles and various physics interactions.-------------------------Character Features-------------------------Here are some of the core features that Rival supports:Continuous collision detectionSnap to the ground (or not)Support any gravity or character orientationSupport any convex collider shape for the character (Capsule, Box, Cylinder, etc...)Prevent walking on steep slopesReceive external forcesFilter out collisions through codePrevent grounding on certain entities through codeCustomize how the velocity gets projectedStep handlingPrevent grounding based on slope change anglesStand on and be pushed by kinematic rigidbodies (moving platforms)Stand on, push, and be pushed by dynamic rigidbodies-------------------------Limitations-------------------------There are certain particularities & limitations to be aware of with Rival characters, mostly with respect to physics interactions with dynamic rigidbodies. You may see a list of limitations on the Limitations page