# Installation

Our [NPM package](https://www.npmjs.com/package/echo3d) contains helpful components designed to work with the echo3D platform API.

{% embed url="<https://www.npmjs.com/package/echo3d>" %}

## Installing the package

* Install via `npm i echo3d`:
* Importing `<model-viewer/>`:

If your framework **does not utilize server-side rendering**:&#x20;

Run `npm i @google/model-viewer` and add `import '@google/model-viewer'` to any files that utilize `<Echo/>`

If your framework **does utilize server-side rendering**:

[Issues arise](https://github.com/google/model-viewer/issues/690) when components or pages importing `model-viewer` are rendered server-side. To most reliably resolve this issue for SSR apps, provide  `model-viewer` via a script element in your `_document` file eg: `<script type="module" src="https://unpkg.com/@google/model-viewer/dist/model-viewer.min.js"></script>`

For **TypeScript apps**:

If you do not have a `globals.d.ts` file, create one within your app `src` folder, add the line `declare module 'echo3d';` and save the file to resolve compiler typing errors.
