# Prerequisites

> This document provides an overview of key concepts to help you quickly build an IPC panel miniapp using templates.

## Player Component Types and Selection Guide

There are three main types of player components for miniapps, categorized by their level of encapsulation and recommended use cases:

| Player Type | Description | Recommended Scenarios |
|-------------|-------------|------------------------|
| **[IPC Fusion Player](/en/miniapp/solution-ai/ability/camera-solution/ipc/fusion-player/base)** | Used by the template. Integrates common features with minimal setup | Quick integration with no need for deep customization (**Recommended**) |
| **[IPC Lite Player](/en/miniapp/solution-ai/ability/camera-solution/ipc/lite-player/base)** | Wraps core logic with basic UI | Suitable for scenarios requiring moderate customization |
| **[IPCPlayer](/en/miniapp/develop/ray/component/media-component/ipc-player)** | The lowest-level component with full manual control | Best for complex scenarios requiring **fully customized** playback logic |

## Component Dependency Structure

```text
IPC Fusion Player (encapsulates IPC Lite Player)
       ↑
IPC Lite Player (encapsulates IPCPlayer)
       ↑
IPCPlayer (base component)
```

## Utility Library

[@ray-js/ray-ipc-utils](/en/miniapp/solution-ai/ability/camera-solution/ipc/toolkit/general): Provides encapsulated logic for `IPC panel` features, offering a set of APIs and events to boost development efficiency.

## Project Template

You can now get started quickly by using the [project template](/en/miniapp/solution-ai/ability/camera-solution/ipc/quick-start/project-module)to begin developing your IPC panel miniapp.


