Core RPG handbook · Development build / version notes
Core RPG handbook
Set up a player prefab
Customize the supplied player without disconnecting movement, gameplay or the client’s presentation.
On this page
Start from a prefab variant of the supplied working player. Replace its model or add a feature in small steps; rebuilding the whole hierarchy makes an animation problem much harder to separate from a network or inventory problem.
Find the player the game actually spawns#
Inspect the active NetworkManager and its player-spawn configuration. Don’t assume a prefab named Player in the Project window is the one your session uses. Make your variant from that configured prefab, then update the intended spawn reference.
Keep gameplay and presentation in their roles#
The multiplayer composition includes PlayerComposition and NetworkObject at its root, with NetworkPlayer and NetworkCombatant in the unit hierarchy.
Inventory, skills and gameplay controllers belong to server authority. Views, animation and replicated presentation must remain available on clients. Check the composition’s role buckets when adding a behaviour, especially serverAuthorityBehaviours. Don’t put NetworkBehaviours into those buckets; their network lifecycle is managed separately.
Change the visible character#
- Keep the gameplay root at its grounded origin and replace the visual child first.
- Connect the new Animator, rig and attachment references while preserving the view motor.
- Adjust the visual child’s offset to put its feet on the ground. Don’t lift the gameplay root to compensate for a centered mesh pivot.
- Check weapon/equipment attachment points after changing the rig.
- Run Tools → Green Cloak Games → Multiplayer → Validate Player Composition. Resolve missing references, null entries and duplicate role-bucket members.
Check a host and a separate client#
Try movement, combat, inventory, a gathering action, dialogue and UI on both. A host runs server and client roles together, so a host-only check can hide a component that was incorrectly disabled on a remote client.
If a client sees the character but cannot use the inventory, inspect the spawned gameplay composition and UI binding. If the server works but the character is invisible on a client, check whether presentation was accidentally placed in a server-only bucket.
Finish with a disconnect and reconnect so you know the new player setup still receives its saved character state. Continue with saving and loading or the networking guide for custom composition work.
