Studio GuideWorld SDK Guide
Log In

ZEPETO Character Controller

The ZEPETO CharacterController provides functionalities like movement and camera control for the ZEPETO characters loaded into a Scene.

To leverage the CharacterController, one must write the ZEPETO character creation script and then load the character into the Scene.


Given that the CharacterController has pre-defined character control key mappings compatible with both PC and Mobile inputs, any character loaded can be instantly maneuvered within the Scene, regardless of platform.

In a PC environment, the character and camera can be controlled via keyboard and mouse. Conversely, in a mobile environment, character and camera operation is achievable through a virtual pad, as illustrated in the screenshot below. You have the flexibility to modify the default settings of the CharacterController.

모바일 내 세로모드 화면

Mobile Device Screen (Vertical Mode)

모바일 내 가로모드 화면

Mobile Device Screen (Horizontal Mode)


The following input interfaces are supported for character control:


  • Move: Keyboard arrows, WASD
  • Jump: Space
  • Double Jump : (Left) Shift
  • Zoom: Mouse wheel
  • Rotate: Screen drag


  • Move: (Bottom left screen)virtual pad
  • Jump: (Bottom right screen)virtual pad button
  • Zoom: (Two fingers)screen drag
  • Rotate: (One finger)screen drag

You have the flexibility to modify the default settings of the CharacterController.

By selecting the created ZepetoPlayers object in the Hierarchy window, the Inspector allows you to view and adjust the applied Controller settings per parameter.

The ZEPETO Camera is designed to focus on the upper head portion of the LocalPlayer upon creation and continues to follow during camera/character movement.

Let's dive into the specifics of each item:


Parameter NameDescription
PrefabThis tracks the local player.
Look OffsetStandard location for Camera Focusing (based on Character Head)
Zoom (Max)Zoom Out Maximum Range
Zoom (Min)Zoom In Maximum Range
Zoom Speed (Base Speed)Zoom In/Out speed (for Input Value)
Zoom Speed (Damp Speed)Zoom In/Out's speed Interpolation value (for DeltaTime)
Rotation (Max Angle)(Vertical + Direction) Rotation limit range
Rotation (Min Angle)(Vertical - Direction) Rotation limit range
Rotation (Lock X Axis)(Vertical direction) Whether Rotation is locked or not
Rotation Speed(Base)Rotation speed (for Input Value)
Rotation Speed(Damp)Rotation speed interpolation value (for DeltaTime)
Collision LayerLayer to which camera collision is applied.
- Layer set to Player Layer does not apply.
Use Character CullingWhen checked, Character Culling is applied when the camera collides with the character.


Parameter NameDescription
Slope LimitThe steepest slope the character can ascend.
Step OffsetThe highest barrier a character can overcome.
Min Move DistanceDefines the smallest gap the character can move.
ShadowVisual representation of the character's shadow.
AnimationControllerAnimator Controller for Character.
Walk SpeedMovement speed of the Walk Input Event
Run SpeedMovement speed of the Run Input Event
Jump PowerJump height of the Jump Input Event
Walk / Run ThresholdWalk/Run reference value (0-1) applied, for moving input
- Run Threshold : Reference value used to switch to Walk → Run motion
- Walk Threshold : Maximum reference value to which the acceleration of the walk motion is applied
DoubleJumpAllows double jump if checked.
- If double jump condition is checked, the default input for double jump is Left Shift.
MoveTurnAllows MoveTurn if checked.
- When enabled, the instantaneous (0.1 sec Interval) rotation angle of the character is greater than 90 degrees.
LandingAllows Landing if checked.
- Toggle the Landing State visible when the ZEPETO character lands from a height.
- If you prefer an immediate movement after a fall, set the Use Landing option to Off.
LandingRollAllows Landing Roll if checked.
- If landing roll condition is checked, the character will roll if the vertical velocity exceeded 18 units. Upon Landing, if there is Horizontal Input, the landing roll motion wil be triggered.

Some parameters align with Unity's character controller component settings. For further clarity, kindly refer to the linked documentation.


Unity CharacterController

If you wish to programmatically manipulate the character controller attributes during runtime, please consult the API documentation.



Parameter NameDescription
Event SystemThe Event System processes user inputs and conveys them to the UI components. It handles interactions like button clicks, drags, drops, etc.
Use Default Input AssetUse Default Input Asset Toggle
- If unchecked, manipulation via the keyboard becomes impossible.
Use Default V-Pad ControllerV-Pad Use Toggle
- Unchecking renders V-Pad controls inaccessible.
Vertical ControllerV-pad Controller Prefab for Vertical Screen Orientation.
Horizontal ControllerV-pad Controller Prefab for Horizontal Screen Orientation.

Floating UI (OnApp)

When playing through the app, you can choose whether to expose the UI related to the character.

Parameter NameDescription
MiniProfileWhen clicking on a character, whether to expose the mini profile pop-up UI
NickName (Me)Whether to expose my character nickname UI
NickName (Others)Whether to expose other characters' nickname UI
BubbleChat (Me)Whether to expose my character's Bubble Chat UI
BubbleChat (Others)Whether to expose other characters' Bubble Chat UI