npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

com.nickmaltbie.openkcc

v1.5.0

Published

Open Source Kinematic Character Controller project.

Downloads

31

Readme

OpenKCC

This project is a sample of the Open Kinematic Character Controller. A Kinematic Character Controller (KCC) provides a way to control a character avatar as a kinematic object that will interact with the environment.

OpenKCC is an open source project hosted at https://github.com/nicholas-maltbie/OpenKCC

This is an open source project licensed under a MIT License. Feel free to use a build of the project for your own work. If you see an error in the project or have any suggestions, write an issue or make a pull request, I'll happy include any suggestions or ideas into the project.

You can see a demo of the project running here: https://nickmaltbie.com/OpenKCC/. The project hosted on the website is up to date with the most recent version on the main branch of this github repo and is automatically deployed with each update to the codebase.

Installation

Make sure to add the required dependencies to your project

In order to use the samples in the project, make sure to also add the following projects to your project.

Install the latest version of the project by importing a project via git at this URL: git+https://github.com/nicholas-maltbie/OpenKCC.git#release/latest

If you want to reference a specific tag of the project such as version v1.3.0, add a #release/v1.3.0 to the end of the git URL to download the package from th auto-generated branch for that release. An example of importing v1.3.0 would look like this: git+https://github.com/nicholas-maltbie/openkcc.git#release/v1.3.0.

To use the latest release, simply reference:

git+https://github.com/nicholas-maltbie/openkcc.git#release/latest

For a full list of all tags, check the OpenKCC Tags list on github. I will usually associated a tag with each release of the project.

If you do not include a tag, this means that your project will update whenever you reimport from main. This may cause some errors or problems due to experimental or breaking changes in the project.

You can also import the project via a tarball if you download the source code and extract it on your local machine. Make sure to import via the package manifest defined at Packages\com.nickmaltbie.openkcc\package.json within the project.

For more details about installing a project via git, see unity's documentation on Installing form a Git URL.

Scoped Registry Install

If you wish to install the project via a Scoped Registry and npm, you can add a scoped registry to your project from all of the com.nickmaltbie packages like this:

"scopedRegistries": [
  {
    "name": "nickmaltbie",
    "url": "https://registry.npmjs.org",
    "scopes": [
      "com.nickmaltbie"
    ]
  }
]

Then, if you want to reference a version of the project, you simply need to include the dependency with a version string and the unity package manager will be able to download it from the registry at https://registry.npmjs.org

"dependencies": {
  "com.nickmaltbie.openkcc": "1.3.0"
}

Tests

If you wish to include the testing code for this project, make sure to add the com.unity.inputsystem and com.nickmaltbie.openkcc to the testables of the project manifest.

  "testables": [
    "com.nickmaltbie.openkcc",
    "com.nickmaltbie.testutilsunity",
    "com.unity.inputsystem"
  ]

Additionally, some of the testing code uses pro builder's api, so make sure to import com.unity.probuilder version 5.0 or newer as well.

In order to run the tests, you will need to import the Moq library. My favorite way to import the Moq.dll in Unity is by using NuGet for Unity.

Samples

In order to run the samples from the project, you must import the following projects:

The samples in the project include:

  • ExampleFirstPersonKCC - Example first person character controller with a basic test scene.
  • SimplifiedDemoKCC - Simplified character controller with basic movement scripts.
  • Various Collider Shapes - Example collider shapes besides basic capsule for a player.
  • Example OpenKCC and Navmesh - Example navmesh agent controlled by OpenKCC movement engine.

Documentation

Documentation on the project and scripting API is found at https://nickmaltbie.com/OpenKCC/docs/ for the latest version of the codebase.