Cocotas Lab
Every sprite in the Mature Romance UI pack
Previews are watermarked. The free Basic and the bought pack download clean.

Mature Romance UI

A vector UI kit for romance, dating and visual-novel games: lace-trimmed wine and night-plum silk dialog boxes with name plates, delicate pill buttons with gold threads and pearls, choice frames, affinity hearts, a heart meter, memory frames and lockets, save slots and a full mobile kit. SVG + PNG 1x/2x/4x.

Basic

Free

66 of the 328 sprites, no watermark: 16 buttons in every state, 3 panels, 17 icons, 10 mobile buttons and more.

Download Basic ZIP, 2.3 MB. Free with your email, no password.

Full pack

US$1.99

All 328 sprites, the SVG sources and the mockups.

Download preview
ZIP, 16.1 MB. The preview is watermarked. Buy with the email you sign in with here and the clean files unlock right away.
Sprites
328 (12 animated)
Style
Vector UI (SVG + PNG)
View
Ui / hud
Tile size
8 px
Download
ZIP, 16.1 MB (Basic 2.3 MB)
Price
US$1.99, Basic free
Version
1.0 (Oct 31, 2026)
License
Cocotas Lab Asset License
  • ui
  • hud
  • romance
  • dating sim
  • visual novel
  • dialogue
  • lace
  • vector
  • svg
  • mobile

What's inside

Every sprite as its own PNG, one sprite sheet per category with a JSON map, animation strips, a preview and a README. Sprites marked Basic are also in the free Basic.

Buttons (28)

  • button_primary_normal160×56Basic
  • button_primary_hover160×56Basic
  • button_primary_pressed160×56Basic
  • button_primary_disabled160×56Basic
  • button_secondary_normal160×56Basic
  • button_secondary_hover160×56Basic
  • button_secondary_pressed160×56Basic
  • button_secondary_disabled160×56Basic
  • button_pearl_normal160×56
  • button_pearl_hover160×56
  • button_pearl_pressed160×56
  • button_pearl_disabled160×56
  • button_gold_normal160×56
  • button_gold_hover160×56
  • button_gold_pressed160×56
  • button_gold_disabled160×56
  • button_danger_normal160×56
  • button_danger_hover160×56
  • button_danger_pressed160×56
  • button_danger_disabled160×56
  • button_icon_normal56×56Basic
  • button_icon_hover56×56Basic
  • button_icon_pressed56×56Basic
  • button_icon_disabled56×56Basic
  • button_round_normal64×64Basic
  • button_round_hover64×64Basic
  • button_round_pressed64×64Basic
  • button_round_disabled64×64Basic

Dialogue (14)

  • dialog_box_silk384×144
  • dialog_box_velvet384×144
  • dialog_box_pearl384×144
  • dialog_box_thought384×144
  • dialog_strip_silk256×128
  • nameplate_wine176×40
  • nameplate_plum176×40
  • nameplate_rose176×40
  • nameplate_gold176×40
  • nameplate_orchid176×40
  • nameplate_moon176×40
  • advance_heart24×24, 8 fr
  • advance_chevron24×24, 8 fr
  • voice_wave32×24, 6 fr

Affinity (19)

  • affinity_card192×256
  • affinity_heart_full24×24
  • affinity_heart_half24×24
  • affinity_heart_empty24×24
  • affinity_bar_frame240×40
  • affinity_bar_fill240×40
  • affinity_tick8×24
  • heart_meter_back96×96
  • heart_meter_fill96×96
  • heart_meter_frame96×96
  • portrait_frame_cameo128×160
  • portrait_frame_round96×96
  • portrait_placeholder96×128
  • affinity_up48×48, 8 fr
  • affinity_down48×48, 8 fr
  • affinity_tier_196×24
  • affinity_tier_296×24
  • affinity_tier_396×24
  • affinity_tier_496×24

Icons (58)

  • heart32×32Basic
  • coin32×32Basic
  • gem32×32Basic
  • key32×32Basic
  • star32×32Basic
  • settings32×32Basic
  • pause32×32Basic
  • play32×32Basic
  • home32×32Basic
  • back32×32Basic
  • close32×32Basic
  • check32×32Basic
  • cross32×32Basic
  • plus32×32Basic
  • minus32×32Basic
  • info32×32Basic
  • lock32×32Basic
  • unlock32×32
  • shop32×32
  • map32×32
  • quest32×32
  • trophy32×32
  • sound_on32×32
  • sound_off32×32
  • music_on32×32
  • music_off32×32
  • share32×32
  • trash32×32
  • cart32×32
  • gift32×32
  • bag32×32
  • restart32×32
  • heart_empty32×32
  • star_empty32×32
  • heart_broken32×32
  • book32×32
  • bookmark32×32
  • letter32×32
  • phone32×32
  • calendar32×32
  • clock32×32
  • gallery32×32
  • flowchart32×32
  • dialogue32×32
  • voice32×32
  • eye32×32
  • eye_closed32×32
  • character32×32
  • time_morning32×32
  • time_day32×32
  • time_evening32×32
  • time_night32×32
  • rose32×32
  • ring32×32
  • mask32×32
  • candle32×32
  • hearts_linked32×32
  • bubble_heart32×32

Items (24)

  • ring_box40×40
  • bouquet40×40
  • single_rose40×40
  • chocolate_box40×40
  • cake_slice40×40
  • teacup40×40
  • pearl_necklace40×40
  • love_letter40×40
  • hair_ribbon40×40
  • music_box40×40
  • plush_bear40×40
  • novel40×40
  • sketchbook40×40
  • umbrella40×40
  • scarf40×40
  • photo40×40
  • tickets40×40
  • heart_locket40×40
  • perfume40×40
  • pocket_watch40×40
  • potted_plant40×40
  • paper_lantern40×40
  • folding_fan40×40
  • flower_hairpin40×40

Panels (16)

  • panel_silk128×128Basic
  • panel_velvet128×128Basic
  • panel_pearl128×128Basic
  • panel_titled160×160
  • panel_inset96×96
  • panel_dialog192×128
  • panel_tooltip96×48
  • title_banner256×64
  • divider160×16
  • divider_lace160×16
  • divider_flourish160×24
  • ornament_corner32×32
  • ornament_pearl16×16
  • ornament_heart16×16
  • ornament_rose24×24
  • ornament_bow48×32

Saves (18)

  • memory_frame_new160×96
  • save_slot320×96
  • save_slot_hover320×96
  • save_slot_selected320×96
  • save_slot_empty320×96
  • save_ribbon_new32×48
  • memory_frame160×96
  • memory_frame_locked160×96
  • memory_locket64×64
  • memory_locket_locked64×64
  • chapter_card384×96
  • page_dot16×16
  • page_dot_active16×16
  • flow_node_seen40×40
  • flow_node_current40×40
  • flow_node_locked40×40
  • flow_node_ending40×40
  • flow_line64×16

Mobile (50)

  • dpad_8_up_right128×128
  • joystick_base128×128
  • joystick_knob64×64
  • joystick_knob_pressed64×64
  • dpad_4128×128
  • dpad_4_up128×128
  • dpad_4_right128×128
  • dpad_4_down128×128
  • dpad_4_left128×128
  • dpad_8128×128
  • dpad_8_up128×128
  • dpad_8_right128×128
  • dpad_8_down_right128×128
  • dpad_8_down128×128
  • dpad_8_down_left128×128
  • dpad_8_left128×128
  • dpad_8_up_left128×128
  • button_a72×72Basic
  • button_a_pressed72×72Basic
  • button_b72×72Basic
  • button_b_pressed72×72Basic
  • button_x72×72Basic
  • button_x_pressed72×72Basic
  • button_y72×72Basic
  • button_y_pressed72×72Basic
  • button_jump72×72
  • button_jump_pressed72×72
  • button_attack72×72
  • button_attack_pressed72×72
  • button_interact72×72
  • button_interact_pressed72×72
  • button_dash72×72
  • button_dash_pressed72×72
  • button_skip72×72
  • button_skip_pressed72×72
  • button_auto72×72
  • button_auto_pressed72×72
  • button_gift72×72
  • button_gift_pressed72×72
  • button_flirt72×72
  • button_flirt_pressed72×72
  • button_pause64×64Basic
  • button_pause_pressed64×64Basic
  • swipe_up64×64
  • swipe_right64×64
  • swipe_down64×64
  • swipe_left64×64
  • tabbar_bg96×80
  • tabbar_item_active80×64
  • tabbar_badge24×24

Emotes (11)

  • emote_heart32×32
  • emote_hearts32×32
  • emote_blush32×32
  • emote_music32×32
  • emote_sweat32×32
  • emote_exclaim32×32
  • emote_question32×32
  • emote_ellipsis32×32
  • emote_anger32×32
  • emote_sparkle32×32
  • emote_sleep32×32

Slots (8)

  • slot_legendary64×64
  • slot_epic64×64
  • slot_rare64×64
  • slot_uncommon64×64
  • slot_empty64×64Basic
  • slot_hover64×64Basic
  • slot_selected64×64Basic
  • slot_locked64×64

Choices (7)

  • choice_hover448×56
  • choice_normal448×56
  • choice_selected448×56
  • choice_seen448×56
  • choice_locked448×56
  • choice_timer_frame448×16
  • choice_timer_fill448×16

Counters (8)

  • counter_coins160×48
  • counter_gems160×48
  • counter_lives160×48
  • counter_score160×48
  • counter_timer160×48
  • counter_days160×48
  • counter_messages160×48
  • counter_plate160×48

Bars (7)

  • bar_level_frame240×48
  • bar_frame208×24Basic
  • bar_fill_health208×24Basic
  • bar_fill_energy208×24
  • bar_fill_stamina208×24
  • bar_fill_xp208×24
  • bar_level_fill240×48

Controls (13)

  • toggle_on80×40Basic
  • toggle_off80×40Basic
  • checkbox_off40×40Basic
  • checkbox_on40×40Basic
  • radio_off40×40
  • radio_on40×40
  • slider_track160×24Basic
  • slider_fill160×24Basic
  • slider_knob40×40Basic
  • dropdown200×48
  • dropdown_item_selected200×40
  • scrollbar_track24×160
  • scrollbar_thumb24×64

Fx (7)

  • coin_spin40×40, 8 fr
  • heart_pulse32×32, 6 fr
  • sparkle_twinkle32×32, 8 fr
  • heart_burst48×48, 8 fr
  • loading_pearls32×32, 12 fr
  • typing_dots40×32, 6 fr
  • rose_petals40×40, 12 fr

Quickmenu (17)

  • qm_auto24×24
  • qm_bar384×40
  • qm_button_normal48×40
  • qm_button_hover48×40
  • qm_button_active48×40
  • qm_button_disabled48×40
  • qm_skip24×24
  • qm_log24×24
  • qm_save24×24
  • qm_load24×24
  • qm_qsave24×24
  • qm_qload24×24
  • qm_settings24×24
  • qm_hide24×24
  • qm_back24×24
  • qm_voice24×24
  • qm_menu24×24

Backlog (5)

  • backlog_panel192×192
  • backlog_row384×48
  • backlog_row_hover384×48
  • backlog_voice32×32
  • backlog_jump32×32

Tabs (2)

  • tab_active128×48Basic
  • tab_inactive128×48Basic

Textures (4)

  • texture_silk64×64
  • texture_damask64×64
  • texture_lace64×64
  • texture_letter64×64

Arrows (12)

  • arrow_up32×32Basic
  • arrow_right32×32Basic
  • arrow_down32×32Basic
  • arrow_left32×32Basic
  • chevron_up32×32
  • chevron_right32×32
  • chevron_down32×32
  • chevron_left32×32
  • cursor_arrow32×32Basic
  • cursor_hand32×32Basic
  • cursor_hand_click32×32
  • cursor_quill32×32

Drawn by code (procedural generation) and checked by our own tools.

Animations

License in short

You can

  • Use it in personal and commercial games and apps
  • Edit, recolor and combine the sprites
  • Skip the credit (it's appreciated, not required)

You can't

  • Resell or share the assets themselves, alone or in another pack
  • Use them to train AI models

Read the full license