• Welcome
  • Features
  • FAQ
  • Links
  • Releases

FAQ


What is a Character Controller?

A character controller is a script (or set of scripts) that handles all of your character requierements (being the movement the most obvious one). Due to the vast variety of games out there, it is not possible to determine a unique general solution for everyone. CCP was (and will be) designed to work as a multi purpose character controller, trying to cover as much ground as possible.

What type of character does CCP support?

Currently it only supports an upright capsule based character. This basically means that the vertical direction of the capsule will always be transform.up.

Can i used this asset with my 2D scenes as well?

Yes, CCP supports 2D and 3D Physics, as well as 2D and 3D movement.

What do you mean by a "dynamic" character controller?

In the simulated physics world there are kinematic and dynamic rigidbodies (each one having its own advantages and disadvantages). CCP uses a dynamic approach to physics, this means that the character is built upon a dynamic rigidbody working with Unity's Physics. The movement is performed by modifying the velocity of the rigidbody directly.

If this is a "dynamic" character controller, Does that mean i can use it as a normal rigidbody?

Yes and no, it depends. Making this character controller 100% compatible with the Physics API is my own personal goal, i would love to have that in my asset. Unfortunately, Unity does not provide many tools for physics programmers in this regard (only OnTriggerXXX and OnCollisionXXX), so most of the things we use are tricks to get a perfect balance between control and compatibility.

Can I apply forces to my character?

The character controller understand only about velocity changes (Rigidbody.velocity or Rigidbody2D.velocity). Applying forces to a rigidbody does not change any of its internal properties, so forces cannot be applied to this specific character controller (at least using AddForce, AddExplosionForce, or similar).

The relation between velocity and force is pretty simple (just a formula), so, if you want to apply that same force to the character it should be easy to achieve.

What type of games can i make with CCP?

Any game that requires a physics based capsule shaped character. A RTS game, a 2D platformer, a horror game, a first person shoter, etc.

Why the package is divided in "Core" and "Implementation"?

The reason behind this decision is extensibility. The entire asset is designed with layers. The Core consists of the character controller (and some other important components), and it is the main layer. The implementation use this "Core" in some way, but at the same time it is designed in layers as well. If you don't like the implementation you can just delete that from your project, and use only the Core.

Why is there a "Demo" folder included? What is this?

The Demo part includes all the example assets and components used by the demo scenes (from materials to character states). This also involves gameplay logic, meaning that what you play in the demo is just my own movement math. It is important to note that this is just one way of doing things, the character controller helps you to achieve that, the result you get will depend on your own movement math, something unique to each game. I would highly recommend you to get this right, since this is not related with the character controller itself.

I want to make a mario-like controller, Can this be achieved with this asset?

Achieved? Yes, although the asset does not come with anything like this, meaning that you'll need to code it. By default the asset comes with the movement logic you experience in the demo. Any custom movement logic can be created/extended by you using the character state logic (from the "Implementation"). All the character states found in the demo are provided as examples.

Can i create a character using any arbitrary scale?

No, CCP currently supports only <1,1,1> scale. If you need to scale your character you should scale the graphics object (what you actually see on screen, the renderer component), then modify the character body size to fit the graphics.

My character consists of a big alien spider that has a weird shape (a composition of colliders), each leg must be procedurally animated and should react to the environment in a particular way. Can this asset handle that?

It won't. This package is oriented to what most developers need, being the capsule character the most common scenario.

So, Why should I consider to buy this asset?

There are a couple of reasons why, here are some of them:

  • You require a capsule based character that mimics the good stuff from the Unity's Character Controller component, but also works in a Physics environment.
  • You want to create characters for your 2D and/or 3D game and only pay for one unified asset (otherwise you will probably have to buy two different assets with no connection between them whatsoever).
  • You need a character controller solution for your project but don't want to waste so much time and money in the process (believe me, this type of asset requires time and research ... a programmer will charge you a lot for it).
  • You want a serious, always growing asset that will be maintained and supported.

So, Why should I consider not to buy this asset?

  • You want your character to use ragdoll-based physics (e.g. the game "Human fall flat"). This does not means you can't use ragdolls in your game, it just means that the character physics (movement) are not based on ragdolls.
  • You want a 100% compatible physics character (remember this).

If you have in mind a very specific character , or maybe , in this case i can't guarantee this package is for you. If you want to be 100% percent sure please contact with me, i will tell you honestly is this is for you or not.