Chronos Romance UI
A vector sci-fi romance UI kit for visual novels and dating sims: frosted midnight glass dialogue boxes, choices with type icons, affinity and sanity meters, phone chat, hologram calls, clue cards, a route chart, save slots, a corrupted skin and a mobile kit. UI only: the characters and backgrounds in the screenshots are not included.
Basic
Free
71 of the 353 sprites, no watermark: 16 buttons in every state, 3 panels, 22 icons, 10 mobile buttons and more.
Download Basic ZIP, 3.1 MB. Free with your email, no password.Full pack
US$1.99
All 353 sprites, the SVG sources and the mockups.
ZIP, 21.1 MB. The preview is watermarked. Buy with the email you sign in with here and the clean files unlock right away.- Sprites
- 353 (15 animated)
- Style
- Vector UI (SVG + PNG)
- View
- Ui / hud
- Tile size
- 8 px
- Download
- ZIP, 21.1 MB (Basic 3.1 MB)
- Price
- US$1.99, Basic free
- Version
- 1.0 (Nov 10, 2026)
- License
- Cocotas Lab Asset License
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_ghost_normal160×56
- button_ghost_hover160×56
- button_ghost_pressed160×56
- button_ghost_disabled160×56
- button_danger_normal160×56
- button_danger_hover160×56
- button_danger_pressed160×56
- button_danger_disabled160×56
- button_romance_normal160×56
- button_romance_hover160×56
- button_romance_pressed160×56
- button_romance_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 (15)
- dialog_box384×144
- dialog_box_dark384×144
- dialog_box_amber384×144
- dialog_box_corrupt384×144
- narration_box384×80
- nameplate_left176×48
- nameplate_left_pink176×48
- nameplate_left_amber176×48
- nameplate_left_corrupt176×48
- nameplate_right176×48
- nameplate_right_pink176×48
- nameplate_right_amber176×48
- nameplate_right_corrupt176×48
- advance_indicator24×24, 8 fr
- voice_wave32×24, 6 fr
Choices (19)
- choice_hover448×64
- choice_normal448×64
- choice_pressed448×64
- choice_corrupt_normal448×64
- choice_corrupt_hover448×64
- choice_corrupt_pressed448×64
- choice_locked448×64
- choice_hidden448×64
- choice_type_alert40×40
- choice_type_neutral40×40
- choice_type_investigate40×40
- choice_type_romance40×40
- confirm_modal320×176
- modal_yes128×56
- modal_yes_hover128×56
- modal_yes_pressed128×56
- modal_no128×56
- modal_no_hover128×56
- modal_no_pressed128×56
Meters (16)
- affinity_frame240×40
- affinity_frame_corrupt240×40
- affinity_fill240×40
- affinity_fill_corrupt240×40
- affinity_heart_full24×24
- affinity_heart_half24×24
- affinity_heart_empty24×24
- heart_meter_back96×96
- heart_meter_fill96×96
- heart_meter_frame96×96
- sanity_frame240×40
- sanity_frame_corrupt240×40
- sanity_fill240×40
- corruption_fill240×40
- affinity_up48×48, 8 fr
- affinity_down48×48, 8 fr
Icons (67)
- romance32×32Basic
- gem32×32Basic
- key32×32Basic
- star32×32Basic
- star_filled32×32Basic
- settings32×32Basic
- pause32×32Basic
- play32×32Basic
- back32×32Basic
- check32×32Basic
- cross32×32Basic
- plus32×32Basic
- minus32×32Basic
- info32×32Basic
- lock32×32Basic
- unlock32×32Basic
- shop32×32Basic
- trophy32×32Basic
- sound_on32×32Basic
- sound_off32×32Basic
- music_on32×32Basic
- music_off32×32Basic
- share32×32
- trash32×32
- cart32×32
- gift32×32
- bag32×32
- shield32×32
- bolt32×32
- chat32×32
- bell32×32
- search32×32
- menu32×32
- download32×32
- edit32×32
- restart32×32
- power32×32
- heart32×32
- heart_filled32×32
- coin32×32
- clock32×32
- close32×32
- eye32×32
- eye_off32×32
- home32×32
- quest32×32
- map32×32
- signal32×32
- waypoint32×32
- log32×32
- auto32×32
- skip32×32
- save32×32
- load32×32
- phone32×32
- call32×32
- alert32×32
- neutral32×32
- investigate32×32
- memory32×32
- clue32×32
- route32×32
- rewind32×32
- photo32×32
- contact32×32
- keyboard32×32
- glitch32×32
Items (14)
- memory_shard40×40
- data_chip40×40
- instant_photo40×40
- letter40×40
- keycard40×40
- ring_box40×40
- holo_rose40×40
- umbrella40×40
- coffee40×40
- ticket40×40
- locket40×40
- recorder40×40
- hourglass40×40
- mask40×40
Panels (14)
- panel_holo128×128Basic
- panel_dark128×128Basic
- panel_tint128×128Basic
- panel_frame128×128
- panel_titled160×160
- panel_inset96×96
- panel_dialog192×112
- panel_tooltip96×48
- title_banner256×64
- divider160×16
- divider_ticks160×16
- ornament_corner32×32
- ornament_heart32×32
- ornament_glow64×64
Saves (8)
- save_slot_selected320×96
- save_slot320×96
- save_slot_hover320×96
- save_slot_empty320×96
- thumb_frame160×104
- save_ribbon_new32×48
- page_dot16×16
- page_dot_active16×16
Phone (7)
- phone_frame192×352
- bubble_sent160×48
- bubble_received160×48
- bubble_sent_romance160×48
- bubble_typing80×40, 6 fr
- chat_badge_unread16×16
- chat_status_online16×16
Holocall (6)
- call_frame192×232
- call_static192×232, 8 fr
- call_accept64×64
- call_accept_pressed64×64
- call_decline64×64
- call_decline_pressed64×64
Clues (5)
- memory_card144×184
- clue_card144×184
- clue_card_new144×184
- clue_card_locked144×184
- memory_fragment64×64
Route (10)
- flow_node_current48×48
- flow_node_seen48×48
- flow_node_locked48×48
- flow_node_choice48×48
- flow_node_ending48×48
- flow_node_corrupt48×48
- flow_line_h64×16
- flow_line_v16×64
- flow_branch64×32
- flow_line_locked64×16
Keyword (4)
- keyword_field304×56
- keyword_field_focus304×56
- countdown_ring_frame48×48
- countdown_ring48×48, 12 fr
Title (2)
- logo_plate384×128
- logo_plate_corrupt384×128
Quickmenu (14)
- qm_bar384×48
- qm_button_normal48×40
- qm_button_hover48×40
- qm_button_active48×40
- qm_button_disabled48×40
- qm_log24×24
- qm_auto24×24
- qm_skip24×24
- qm_save24×24
- qm_load24×24
- qm_menu24×24
- qm_settings24×24
- qm_hide24×24
- qm_rewind24×24
Backlog (5)
- backlog_panel192×192
- backlog_row384×48
- backlog_row_hover384×48
- backlog_voice32×32
- backlog_jump32×32
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_special72×72
- button_special_pressed72×72
- button_swap72×72
- button_swap_pressed72×72
- button_talk72×72
- button_talk_pressed72×72
- button_investigate72×72
- button_investigate_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
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
Counters (7)
- counter_coins160×48
- counter_gems160×48
- counter_lives160×48
- counter_score160×48
- counter_timer160×48
- counter_memories160×48
- counter_plate160×48
Bars (10)
- bar_frame208×32Basic
- bar_fill_health208×32Basic
- bar_fill_shield208×32
- bar_fill_energy208×32
- bar_fill_stamina208×32
- bar_fill_xp208×32
- bar_level_frame240×40
- bar_level_fill240×40
- bar_charge_frame208×24
- bar_charge_fill208×24
Controls (17)
- 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
- segmented_track240×48
- segmented_thumb80×48
- text_field240×48
- text_field_focus240×48
Tabs (2)
- tab_active128×48Basic
- tab_inactive128×48Basic
Fx (8)
- coin_spin40×40, 8 fr
- heart_pulse32×32, 6 fr
- ripple64×64, 8 fr
- level_up64×64, 8 fr
- charge_spark32×32, 6 fr
- twinkle32×32, 6 fr
- time_skip64×64, 8 fr
- glitch_static64×48, 8 fr
Arrows (13)
- 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_target32×32
- cursor_text32×32
Textures (4)
- texture_scanlines64×64
- texture_grain64×64
- texture_rain64×64
- texture_wireframe64×64
Drawn by code (procedural generation) and checked by our own tools.
Animations
advance_indicator8 frames, 10 fps
voice_wave6 frames, 10 fps
affinity_up8 frames, 12 fps
affinity_down8 frames, 12 fps
bubble_typing6 frames, 8 fps
call_static8 frames, 12 fps
countdown_ring12 frames, 1 fps
coin_spin8 frames, 12 fps
heart_pulse6 frames, 10 fps
ripple8 frames, 20 fps
level_up8 frames, 14 fps
charge_spark6 frames, 12 fps
twinkle6 frames, 10 fps
time_skip8 frames, 16 fps
glitch_static8 frames, 12 fps
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