Configuration
Every option in config.js, explained section by section.
Every option in config.js, explained section by section.
You only ever edit one file: config.js, at the root of the resource. It is read live —
change a value, save, and restart the resource (restart see_loadingscreen). No build.
theme: {
primaryColor: "#148CE1",
},theme.primaryColorstringoptionalMain accent color (logo glow, progress bar, highlights). Any hex value. Default #148CE1.
font: {
family: "Inter",
},font.familystringoptionalAny font name from fonts.bunny.net (e.g. Inter, Poppins). Default Inter.
logo: {
enabled: true,
src: "assets/logo-anime.webp",
fallbackText: "Unsee Store",
width: "auto",
height: "200px",
loop: true,
animateIn: true,
glow: true,
},logo.enabledbooleanoptionalShow the logo. When false, fallbackText is shown instead. Default true.
logo.srcstringoptionalImage (png, jpg, gif, webp, apng, svg) or video (mp4, webm). The type is detected from the extension.
logo.fallbackTextstringoptionalText shown when src is empty or the file fails to load.
logo.widthstringoptionalAny CSS size (400px, 30vw, auto). Default auto.
logo.heightstringoptionalAny CSS size. Default 200px.
logo.loopbooleanoptionalKeep an animated logo looping. Video is fully controlled here; for gif/webp it depends on how the file was exported. Default true.
logo.animateInbooleanoptionalPlay the scale + fade intro animation. Default true.
logo.glowbooleanoptionalSoft pulsing halo behind the logo, in the theme color. Default true.
background: {
type: "video",
images: ["assets/wallpaper1.png"],
video: "assets/background.mp4",
loop: true,
color: "#0b0b12",
opacity: 0.3,
zoom: true,
interval: 10000,
random: false,
transition: "fade",
transitionDuration: 1000,
},Keep local videos under ~15 MB (1080p, H.264, web-optimized / "faststart"), otherwise
players get a black screen. For a heavy clip, host it and use a direct URL in video.
background.typestringoptionalimages (slideshow), video, or color.
background.imagesstring[]optionalImage list used by the images slideshow.
background.videostringoptionalVideo file or a direct URL (https://...) used by the video type.
background.loopbooleanoptionalVideo only — loop forever (true) or stop on the last frame (false). Default true.
background.colorstringoptionalSolid color for the color type, and fallback when an image is missing. Default #0b0b12.
background.opacitynumberoptionalBackground opacity, 0 (dark) to 1 (full). Default 0.3.
background.zoombooleanoptionalSlow Ken Burns zoom on images. Default true.
background.intervalnumberoptionalTime each image stays on screen, in ms. Default 10000.
background.randombooleanoptionalShow images in random order. Default false.
background.transitionstringoptionalfade, zoom or slide.
background.transitionDurationnumberoptionalTransition length in ms. Default 1000.
music: {
enabled: true,
tracks: ["assets/sound.mp3"],
volume: 0.05,
loop: true,
random: true,
toggleKey: "Space",
hint: "Press [Space] to play / pause the music",
},music.enabledbooleanoptionalPlay background music. Default true.
music.tracksstring[]optionalAudio files (mp3, ogg, wav), played as a playlist.
music.volumenumberoptional0 (silent) to 1 (max). Default 0.05 (5%).
music.loopbooleanoptionalRestart the playlist when it ends. Default true.
music.randombooleanoptionalPlay tracks in random order. Default true.
music.toggleKeystringoptionalKey to play / pause. Default Space.
music.hintstringoptionalSmall on-screen text. Wrap a key in brackets to show it as a button, e.g. [Space].
captions: {
enabled: true,
title: "Fun Fact",
lines: ["Don't forget to read the rules.", "Thanks for choosing us."],
position: "bottom-left",
interval: 8000,
},captions.enabledbooleanoptionalShow the rotating text (tips, rules, fun facts). Default true.
captions.titlestringoptionalSmall heading shown above the text.
captions.linesstring[]optionalSentences shown one after another.
captions.positionstringoptionalbottom-left, bottom-center, bottom-right, top-left, top-center or top-right.
captions.intervalnumberoptionalTime between two lines, in ms. Default 8000.
progress: {
enabled: true,
position: "bottom",
showPercent: true,
showStep: true,
},progress.enabledbooleanoptionalShow the loading progress bar. Default true.
progress.positionstringoptionalbottom or top.
progress.showPercentbooleanoptionalShow the loading percentage. Default true.
progress.showStepbooleanoptionalShow the current loading step text (from the game log). Default true.
social: {
enabled: true,
position: "bottom-right",
links: [
{ icon: "discord", label: "Discord", url: "https://discord.gg/asKWAJ3kV8" },
{ icon: "globe", label: "Website", url: "https://yourserver.com" },
],
},social.enabledbooleanoptionalShow clickable social buttons (the cursor is active over them). Default true.
social.positionstringoptionalSame options as captions. Default bottom-right.
social.linksobject[]optionalList of { icon, label, url }. Icons: discord, x, youtube, instagram, tiktok, twitch, globe. An unknown icon shows the label only.