Dynamic, Networking, Motion, dots, movement, ECS, Collider, Physics, Platformer, FPS, kinematic, Controller, Character, Online, control
!!! IMPORTANT !!!
- This is a DOTS asset that uses DOTS physics. It can only be compatible with…
Discount: 50% OFF
Asset Title: Rival – DOTS Character Controller
Publisher: Philippe St-Amand
Category: tools, physics
More Details about this asset:
!!! IMPORTANT !!!
- This is a DOTS asset that uses DOTS physics. It can only be compatible with projects that were also built with DOTS physics
- You must use Unity 2020.3.30 for DOTS development (not older or newer versions).
- This asset will be in preview for as long as DOTS itself is in preview. Until Rival reaches v1.0, its APIs could change in order to keep up with DOTS advancements.
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 data
- puts you in full control of the character update loop
- allows support for network prediction
- gives 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
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.
Before you buy, it is highly recommended that you try to familiarize yourself with what DOTS is, and how ECS programming works in practice. It is completely different from regular Monobehaviour programming in Unity.
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.
Rival comes with a Samples project that can be installed 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.
Here are some of the core features that Rival supports:
- Continuous collision detection
- Snap to the ground (or not)
- Support any gravity or character orientation
- Support any convex collider shape for the character (Capsule, Box, Cylinder, etc…)
- Prevent walking on steep slopes
- Receive external forces
- Filter out collisions through code
- Prevent grounding on certain entities through code
- Customize how the velocity gets projected
- Step handling
- Prevent grounding based on slope change angles
- Stand on and be pushed by kinematic rigidbodies (moving platforms)
- Stand on, push, and be pushed by dynamic rigidbodies