Process every supported gameplay object whose spawn, ownership, transform, or active state must be visible to other clients. Configure the object with its standard Ultimate Character Controller workflow before applying the PUN components.
Common examples include:
- Projectiles and grenades.
- Health and item pickups.
- Respawners.
- Moving platforms.
- Interactables.
Process an object
- Complete the object’s standard setup. For example, configure a Moving Platform before networking it.
- Open Tools > Opsive > Ultimate Character Controller > Add-Ons Manager > PUN Multiplayer.
- Drag the object into Object Setup > Object.
- Select Setup Object and apply the result to its prefab when applicable.

- If the object is spawned at runtime, add the processed prefab to the scene’s PUN Object Pool.
Rerun Object Setup after changing colliders or other child objects that require identifiers.
Verify with two clients
Trigger the object from its owning client and observe it from another. Confirm the spawn and active state first, then position and rotation if the object moves. Test a late join when the object can remain changed after its initial spawn.
Use Troubleshooting when an object is missing from the pool, lacks an identifier, or needs PunLocationMonitor for transform and active-state synchronization.