Table of Contents

Character Creator Overview

The Character Creator is a modular, prefab based framework for building Character Creation Menus.

A Character Creation Menu allows players to create and customize characters for use in your game. For example, it can be used to create a player character or customize the appearance of an NPC.

The Character Creator is designed to be flexible. Each part of the menu is provided as a separate module, allowing you to combine, configure, and customize the modules to create the menu you want.

Note

The Character Creator is designed to work for Layered Characters only. Its customization features work by modifying the individual layers that make up a Layered Character.


Character Creator Modules

The Character Creator is modular, it's split into a bunch of smaller pieces we call modules, each provides a specific piece of functionality. When these modules are put together they form a complete and functioning Character Creation Menu.

Module Description
Layer Selectors Allow the player to change the visual elements for each character layer.
Character Preview Displays an animated or static preview of the character that updates when changes are made.
Menu Controls Essential controls for the menu such as Save, Back and Reset.
Character History Records changes and allows players to revert to previous versions of the character.
Randomization Controls Provides options for randomizing the entire character or individual layers.
Loading Screens Hides the menu while it's being initialized and can display loading progress.
Character Display Name Allows the player to enter a display name for their character.

Layer Selector Module

A Layer Selector is a UI element that allows the playerto change a specific layer of a Layered Character.

The following selector types are included.

Selector Type Description
Dropdown Selector Displays the available options in a dropdown list.
Carousel Selector Displays the current option and allows the player to cycle through other options using left and right controls.
Grid Selector Displays layer options as a grid of preview thumbnails.
List Selector Displays layer options in a vertical or horizontal list, optionally with preview images.
Tab Selector Works alongside another selector and allows the player to switch which layer that selector controls.
Layer Selectors

Read More → Layer Selector Setup


Character Preview Module

The Character Preview displays the character currently being customized.

Character previews can be configured with several options:

  • Static Sprite Preview – Displays the preview sprite defined by the Character Type.
  • Animated Preview – Uses an Animator Controller to play character animations.
  • Animation Swapping – Allows additional animations defined by the Character Type to be selected from the menu.
  • Rotate Character – Adds controls that allow the player to view the character from different directions.
Character Previews Example

Read More → Character Preview


Menu Controls provide the buttons and controls used to interact with the Character Creation Menu, along with some additional niceties.

These controls include:

  • Back/Close Menu button: Closes the menu.
  • Save button: Saves the character's changes.
  • Reset button: Resets the character.
  • Randomize button: Randomizes all layers of the character.
Menu Controls Example

Read More → Menu Controls


Character History Module

The Character History System records changes made while customizing a character.

The CCM History Tracker component stores a snapshot of the character whenever a change is made. These snapshots can then be used to undo changes or return to an earlier version of the character.

History Tracker

The History Tracker provides the following settings:

  • Snapshot Limit: Determines how many snapshots can be stored. The limit can be set between 1 and 100, with a default of 30.
  • Preserve First Snapshot: Prevents the first snapshot from being overwritten when the snapshot limit is reached.

History Tracker Component

Read More → History Tracking System

Undo & Redo

The Undo & Redo functionality allows players to move backward and forward through their character's history.

Use the CCM Timeline Button Handler component on a button to connect it to a History Tracker.

History Undo-Redo Buttons

Read More → History Undo/Redo

History Panels

A History Panel displays the snapshots recorded by the History Tracker. Players can select an entry to revert the character to that version.

The Character Creator supports several presentation styles:

Panel Type Description
Text Based Displays text describing what changed in each snapshot.
Sprite Based Displays a preview image of the character for each snapshot.
Hybrid Displays both a description and preview image for each snapshot.
Text Based History Panel Sprite Based History Panel

Read More → History Panels


Randomization Controls Module

Character randomization functionality can be added in multiple differents ways

  • Randomize Button - Randomizes all layers of the character.
  • Controlled Randomization - Allows the player to choose which layers should be randomized.
  • Layer-Specific Randomization - Allows individual layers to be randomized directly from Layer Selectors.
Controlled Randomization

Read More → Character Randomization


Loading Screen Module

Loading screens hide the Character Creation Menu while it's being setup.

Loading Screens are modular, allowing additional elements such as loading bars and progress text to be added or removed as needed.

Loading Screens

Read More → Loading Screen


Character Display Name Module

The Character Display Name module allows the player to give their character a display name.

The display name can later be displayed anywhere in your game, such as above the character's head.

Character Display Name Field

Read More → Character Display Name