# Create a UObject Manager

<figure><img src="https://3607888507-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQSyzdwtAZykVKFu5CsNh%2Fuploads%2FxfvLWtGO7EnRnhWDhwpW%2Fimage.png?alt=media&#x26;token=dc7d75bf-c4db-40c7-9685-1864ed5c1469" alt=""><figcaption><p>Create a new Blueprint Class</p></figcaption></figure>

<figure><img src="https://3607888507-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQSyzdwtAZykVKFu5CsNh%2Fuploads%2FpB5eJ2KHVBPxGM2ON7g0%2Fimage.png?alt=media&#x26;token=71d63f3e-e29f-4fdf-986f-f3286c0406bc" alt=""><figcaption><p>Search for OPObject, select OPObjectManager and create it.</p></figcaption></figure>

<figure><img src="https://3607888507-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQSyzdwtAZykVKFu5CsNh%2Fuploads%2FxP5XkDCbhJpF9VZjwgLp%2Fimage.png?alt=media&#x26;token=70ed2c70-b4e8-4f38-b874-89003eab934c" alt=""><figcaption><p>Name the object manager as you want.<br>Example : AC_MyObjectManager</p></figcaption></figure>

<figure><img src="https://3607888507-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQSyzdwtAZykVKFu5CsNh%2Fuploads%2Fv7hkEs2wnCV46U2Y6l7h%2Fimage.png?alt=media&#x26;token=b70c6b01-6fa1-46cf-880b-fc69b1fe67aa" alt=""><figcaption><p>Now you can open the object manager.</p></figcaption></figure>

<figure><img src="https://3607888507-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQSyzdwtAZykVKFu5CsNh%2Fuploads%2F3Tr9K1FqUSFec22gRzbH%2Fimage.png?alt=media&#x26;token=802edc96-746b-4fb6-b452-177a0e7ddb30" alt=""><figcaption><p>Now you're going to replicate your previous OPObject created. For that, you just need to call the ConstructRegisterReplicatedObject function on the server side only. The function will take the OPObject Class and return the constructed OPObject.</p></figcaption></figure>

<figure><img src="https://3607888507-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQSyzdwtAZykVKFu5CsNh%2Fuploads%2FzpsHyU182nMaivr9eHN3%2Fimage.png?alt=media&#x26;token=fec7b758-48ac-49b3-a1e5-f79d2080fe54" alt=""><figcaption><p>Here it is, your custom object is now replicated correctly.</p></figcaption></figure>

<figure><img src="https://3607888507-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQSyzdwtAZykVKFu5CsNh%2Fuploads%2FDHv27p46ZhN8puNoz7xe%2Fimage.png?alt=media&#x26;token=b62f3763-723a-44c9-a0c3-c50b8c1c3d94" alt=""><figcaption><p>Now you can get or set your replicated variables.</p></figcaption></figure>

<figure><img src="https://3607888507-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQSyzdwtAZykVKFu5CsNh%2Fuploads%2FFvq5Z0mcbku21806rofP%2Fimage.png?alt=media&#x26;token=02b6e2ee-fbdd-4ae1-969f-22d77fbbce5e" alt=""><figcaption><p>Now you can call your RPC's.</p></figcaption></figure>

<figure><img src="https://3607888507-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQSyzdwtAZykVKFu5CsNh%2Fuploads%2FKPjnQJfyYFKzB23Wxmw4%2Fimage.png?alt=media&#x26;token=475f6c03-2593-4684-9d92-67f4504c3f3a" alt=""><figcaption><p>You can also stop replicating the object and mark them as garbage. This where the Event Destroy inside the O_MyReplicatedObject is call right bellow.</p></figcaption></figure>

<figure><img src="https://3607888507-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQSyzdwtAZykVKFu5CsNh%2Fuploads%2Fbs9IkWitd8dHLoGvapnD%2Fimage.png?alt=media&#x26;token=8d85b5c2-27ad-41ae-ba6d-8777b4a196fe" alt=""><figcaption></figcaption></figure>

And there you go, it's as simple as that. If you have any questions, feel free to come to the [Discord](https://discord.gg/Uuju7yuepU) or write in the Question section on the Unreal Marketplace. Have a good day!
