> For the complete documentation index, see [llms.txt](https://pmc-docs.gitbook.io/pmc-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://pmc-docs.gitbook.io/pmc-docs/replication-modes/custom-replication-mode.md).

# Custom Replication Mode

### Overview

<mark style="color:blue;">**Custom Replication Mode**</mark> disables PMC’s <mark style="color:blue;">built-in replication paths</mark>\
(<mark style="color:blue;">**Client Authoritative**</mark> and <mark style="color:blue;">**Server Authoritative**</mark>) and allows movement synchronization to be handled entirely by <mark style="color:blue;">**external replication plugins**</mark> (e.g. <mark style="color:blue;">Smooth Sync</mark>).

<mark style="color:$warning;">PMC continues to perform</mark> <mark style="color:$warning;"></mark><mark style="color:$warning;">**movement simulation locally**</mark> <mark style="color:$warning;"></mark><mark style="color:$warning;">- only</mark> <mark style="color:$warning;"></mark><mark style="color:$warning;">**transform replication is delegated**</mark><mark style="color:$warning;">.</mark>

<mark style="color:green;">This mode exists to give you full control over networking while still benefiting from PMC’s movement logic.</mark>

***

### <mark style="color:blue;">When to Use This Mode</mark>

<mark style="color:blue;">Use</mark> <mark style="color:blue;"></mark><mark style="color:blue;">**Custom Replication Mode**</mark> <mark style="color:blue;"></mark><mark style="color:blue;">when:</mark>

* You are using <mark style="color:blue;">**Smooth Sync**</mark> or similar replication plugins
* You have your **own&#x20;**<mark style="color:blue;">**custom networking solution**</mark>
* You want **full control over&#x20;**<mark style="color:blue;">**transform replication**</mark>
* You only need <mark style="color:blue;">PMC</mark> for **movement simulation**, not replication

***

### How It Works

<mark style="color:blue;">When</mark> <mark style="color:blue;"></mark><mark style="color:blue;">**Custom Replication Mode**</mark> <mark style="color:blue;"></mark><mark style="color:blue;">is enabled:</mark>

* PMC <mark style="color:red;">does</mark> <mark style="color:red;"></mark><mark style="color:red;">**NOT**</mark> send transform updates
* PMC <mark style="color:red;">does</mark> <mark style="color:red;"></mark><mark style="color:red;">**NOT**</mark> perform client-side smoothing
* PMC <mark style="color:red;">does</mark> <mark style="color:red;"></mark><mark style="color:red;">**NOT**</mark> run Server Authoritative replication

<mark style="color:$warning;">Instead:</mark>

* Your external plugin handles **all transform syncing**
* PMC handles **movement simulation only**

<mark style="color:green;">This prevents</mark> <mark style="color:green;"></mark><mark style="color:green;">**double replication**</mark> <mark style="color:green;"></mark><mark style="color:green;">and avoids conflicts between PMC and external systems.</mark>

***

### <mark style="color:$warning;">Important</mark>

Movement tuning settings such as:

* <mark style="color:blue;">Net Send Rate</mark>
* <mark style="color:blue;">Interpolation Speed</mark>
* <mark style="color:blue;">Position Quantization</mark>

are designed for <mark style="color:blue;">**Client Authoritative**</mark>**&#x20;mode only**.

<mark style="color:$warning;">**They have no effect in Custom Replication Mode.**</mark>

<mark style="color:$warning;">All transform replication must be provided by your external solution.</mark>

***

### <mark style="color:blue;">Recommended Setup Flow</mark>

1. <mark style="color:blue;">Set</mark> <mark style="color:blue;"></mark><mark style="color:blue;">**Movement Replication Mode**</mark> <mark style="color:blue;"></mark><mark style="color:blue;">to</mark> <mark style="color:blue;"></mark><mark style="color:blue;">**Custom Replication Mode**</mark>
2. Attach your external replication plugin (e.g. <mark style="color:blue;">Smooth Sync</mark>)
3. <mark style="color:$success;">Let the plugin replicate position / rotation</mark>
4. Use <mark style="color:blue;">PMC</mark> purely for <mark style="color:$success;">movement logic</mark>

<mark style="color:$warning;">That’s it.</mark>

<mark style="color:blue;">PMC</mark> becomes your <mark style="color:$success;">movement layer</mark>\
Your <mark style="color:blue;">plugin</mark> becomes your <mark style="color:$success;">networking layer</mark>

***

### <mark style="color:$warning;">Summary</mark>

* <mark style="color:blue;">PMC movement:</mark> ✅ <mark style="color:$success;">Enabled</mark>
* <mark style="color:blue;">PMC</mark> <mark style="color:blue;">replication:</mark> ❌ <mark style="color:red;">Disabled</mark>
* <mark style="color:blue;">External replication:</mark> ✅ <mark style="color:$success;">Enabled</mark>

This mode is designed for advanced users who want maximum networking flexibility without sacrificing PMC’s movement system.
