Skip to content

CognitiveVR/c3d-sdk-webxr

Repository files navigation

The Cognitive3D SDK for Javascript and WebXR

Welcome! This SDK allows you to integrate your JavaScript and WebXR Applications with Cognitive3D, which provides analytics and insights about your VR/AR/MR project. In addition, Cognitive3D empowers you to take actions that will improve users' engagement with your experience.


npm version All Tests Passing License

✅ Requirement(s)

Node.js version 20 or higher. To check your current version:

node --version

🔧 Installation

You can add Cognitive3D to your JavaScript project in two ways.

Option 1. Install from NPM

Inside your JavaScript project's terminal, run the following command

npm install @cognitive3d/analytics

Option 2. Install from source code

If you want the entire source code, whether that be to run tests, make modifications, you can clone this repository by

A) Clone the repo

git clone https://github.com/CognitiveVR/c3d-sdk-webxr.git
cd c3d-sdk-webxr

B) Install the dependencies

npm install

C) Build the sdk

This will transpile the SDK src files into a /lib folder

npm run build

D) Install the local sdk to your project

Navigate to your projects directory, and then run the following command

npm install /pathTo/c3d-sdk-webxr

📂 Project Structure

Here's an overview of the key files and directories in the project:

c3d-sdk-webxr/
├── src/              # Contains the source code for the SDK.
   ├── adapters/      # Modules for integrating with Three.js, Babylon.js, PlayCanvas, etc.
   └── utils/         # Utility modules for framerate tracking, HMD orientation, etc.
├── __tests__/        # Contains all the Jest tests for the SDK.
├── assets/           # Contains images and logos used in the readme.
├── lib/              # Generated by the build process, contains the transpiled SDK files (UMD, ESM, CJS).
└── settings.js       # Configuration file for the SDK tests (API key, scene info).

🚀 Usage

The SDK is flexible and integrates seamlessly with various JavaScript frameworks and web engines such as ThreeJS, Wonderland Engine, PlayCanvas, and more.

It supports a wide range of development environments by providing multiple module formats in the /lib folder:

  • UMD: Universal format for direct use in browsers via a <script> tag.
  • ES Module: Modern module standard, used by most bundlers and modern Node.js.
  • CommonJS: Compatible with older Node.js environments.

📚 Documentation

The Cognitive3D WebXR SDK documentation explains how to integrate the SDK, track user experiences, export scenes, track dynamic objects, and more.

🎮 Sample Projects

For more detailed examples and complete project integrations (Playcanvas, ThreeJS, Wonderland Engine), please see our sample applications repository

Packages

No packages published

Contributors 8