UBISOFT SINGAPORE · 2019–2022 · SKULL & BONES

Making a constrained system feel effortless

Ships, slots, weapon sizes, stats — a deeply constrained inventory system players couldn't navigate. I owned the full UX of ship customisation: from the Codex knowledge system to the loadout and cosmetics flows, designing clarity into a system that resisted it.

Manage Ship screen

// Manage Ship — the loadout entry point. Weapons, armor, furniture, cosmetics.

Ubisoft Singapore
UX Designer
Console & PC
2019 – 2022

A system players couldn't read

Skull & Bones has a deeply constrained weapon system. Ships have a fixed number of slots, weapons come in different sizes, and each combination changes your playstyle entirely. Players couldn't figure out what they could equip — or why certain options were unavailable.

The information existed. The clarity didn't. And game designers — rightfully — needed all data visible. Stats, types, perks, compatibilities. That tension defined the design challenge.

"The data was all there. Players were overwhelmed by information that wasn't relevant to the decision they were trying to make."

Knowledge hub
// Knowledge hub — structured reference library accessible from the HUD.
Codex categories
// Codex — Ships, Captain Tools, Weapons, Armor. Findable before committing.

Every screen between player and ship

I designed the full customisation surface: the Codex knowledge system, the Manage Ship hub, weapon and armor loadout flows, ship cosmetics, the Change Ship confirmation modal, the emote wheel, and the captain recreation screen.

These aren't isolated screens — they form a system. A player deciding on a weapon needs to understand ship type compatibility, slot constraints, and stat tradeoffs. The challenge was making that legible without stripping the depth game designers needed.

Ship stat sheet
// Ship detail — stat sheet with type, perks, base values. Reference before commit.
Ship Cosmetics
// Ship Cosmetics — set-based collection with live preview.
Change Ship modal
// Change Ship — explicit cargo decision before switching. No destructive default.
Emote wheel
// Emote wheel — radial shortcut menu with contextual slots.
Captain customisation
// Recreate Captain — preset-based system with live 3D preview.

One toggle. Two mental models.

After five major iterations — and real tension with game designers who needed full information present — the breakthrough was simple: players weren't overwhelmed by information. They were overwhelmed by irrelevant information.

A toggle between "compatible only" and "show all" resolved a team debate and respected two completely different user mental models simultaneously. New players see a clean, valid set of choices. Veterans can see everything. The Codex provided the depth — kept out of the decision moment.

// ship_loadout.ui — compatible filter
Compatible only
Show all
💣
🔱
🗡️
🏹

Prototyping as the language of alignment

The design went through at least five major iterations. Early versions were dense — every stat surfaced, every option visible, the ship rendered in 3D with weapon slots highlighted directly on the hull. Playtest after playtest showed the same thing: players froze.

Early prototype: upper deck customisation
// v1 — 3D ship view with slot categories and live weapon tooltips.
Early prototype: stern hovering equipped weapon
// Hovering an equipped weapon — stat panel surfaces on the hull itself.
Early prototype: conflict warning
// Conflict state — equipping a weapon already slotted elsewhere triggered a full-screen warning.

The tension with game designers wasn't about ego — they knew the system better than anyone. Resolution came through prototyping. One key debate: free cursor vs. controller-based navigation, with the ship camera responding differently to each. I built interactive prototypes of both so the team could feel the difference rather than argue about it.

// Cursor-based approach — free mouse movement over the 3D ship.

// Controller navigation — ship rotates to slot in focus, camera follows intent.

Seeing the difference shifted the conversation from opinion to evidence. We all wanted the same thing: a game players would understand and love. Prototypes made that shared goal visible.

Clarity that scaled

Eliminated invalid choices at the point of decision — players never hit a dead end mid-loadout

Design pattern scaled across live-service content updates without redesign

One toggle resolved both QA feedback and the internal team debate simultaneously

Codex system provided full information depth without cluttering the decision moment