Roblox UtilitiesDevlHub Roblox Documentation

Roblox Jumpstart

Jumpstart is a program that invests in ambitious creators building novel games that bring a new generation of 18+ players to Roblox. Learn how to apply.

export const accent = 'var(--color-system-emphasis)'; export const darkSurface = 'var(--color-surface-200)'; export const darkBorder = 'var(--color-stroke-default)'; export const APPLY_URL = 'https://survey.roblox.com/jfe/form/SV_a5fvz9Y4204yfMa'; export const overlineStyle = { color: accent, fontWeight: 700, letterSpacing: '0.1em' }; export const h2Style = { fontSize: 32, fontWeight: 800, marginBottom: 8 }; // Blue (system-emphasis) CTA button, matching the AI page's accent treatment. export const blueBtn = { backgroundColor: accent, color: 'var(--color-extended-white-100)' }; // Icon height tuned to sit level with the card h5 titles. export const titleIconSize = 22;

export const ICON_PATHS = { guidance: 'M5 13.18v4L12 21l7-3.82v-4L12 17l-7-3.82zM12 3L1 9l11 6 9-4.91V17h2V9L12 3z', promotion: 'M18 11v2h4v-2h-4zm-2 6.61c.96.71 2.21 1.65 3.2 2.39.4-.53.8-1.07 1.2-1.6-.99-.74-2.24-1.68-3.2-2.4-.4.54-.8 1.08-1.2 1.61zM20.4 5.6c-.4-.53-.8-1.07-1.2-1.6-.99.74-2.24 1.68-3.2 2.4.4.53.8 1.07 1.2 1.6.96-.72 2.21-1.65 3.2-2.4zM4 9c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h1v4h2v-4h1l5 3V6L8 9H4zm11.5 3c0-1.33-.58-2.53-1.5-3.35v6.69c.92-.81 1.5-2.01 1.5-3.34z', community: 'M12 12.75c1.63 0 3.07.39 4.24.9 1.08.48 1.76 1.56 1.76 2.73L18 18H6v-1.61c0-1.18.68-2.26 1.76-2.73 1.17-.52 2.61-.91 4.24-.91zM4 13c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm1.13 1.1c-.37-.06-.74-.1-1.13-.1-.99 0-1.93.21-2.78.58C.48 14.9 0 15.62 0 16.43V18h4.5v-1.61c0-.83.23-1.61.63-2.29zM20 13c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm4 3.43c0-.81-.48-1.53-1.22-1.85C21.93 14.21 20.99 14 20 14c-.39 0-.76.04-1.13.1.4.68.63 1.46.63 2.29V18H24v-1.57zM12 6c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3z', check: 'M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z', // how-it-works step icons: edit_document (apply), search (review); grow reuses community apply: 'M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z', review: 'M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z', // proof-bar stat icons: groups (dau), payments (paid), attach_money (earnings), autorenew (rolling) paid: 'M19 14V6c0-1.1-.9-2-2-2H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zm-9-1c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm13-6v11c0 1.1-.9 2-2 2H4v-2h17V7h2z', earnings: 'M11.8 10.9c-2.27-.59-3-1.2-3-2.15 0-1.09 1.01-1.85 2.7-1.85 1.78 0 2.44.85 2.5 2.1h2.21c-.07-1.72-1.12-3.3-3.21-3.81V3h-3v2.16c-1.94.42-3.5 1.68-3.5 3.61 0 2.31 1.91 3.46 4.7 4.13 2.5.6 3 1.48 3 2.41 0 .69-.49 1.79-2.7 1.79-2.06 0-2.87-.92-2.98-2.1h-2.2c.12 2.19 1.76 3.42 3.68 3.83V21h3v-2.15c1.95-.37 3.5-1.5 3.5-3.55 0-2.84-2.43-3.81-4.7-4.4z', rolling: 'M12 6v3l4-4-4-4v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8c-.45-.83-.7-1.79-.7-2.8 0-3.31 2.69-6 6-6zm6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3.31-2.69 6-6 6v-3l-4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26z', };

export const DATA = { hero: { overline: 'ROBLOX JUMPSTART', title: 'Bring your game idea to Roblox', description: 'Jumpstart is a program that invests in ambitious creators from our community as they build novel games that bring a new generation of 18+ players to Roblox.', cta: { label: 'Apply now', href: APPLY_URL }, image: '/assets/developer-jumpstart/landing/hero.webp', }, stats: [ { icon: 'community', value: '144M', label: 'daily active users', caption: 'Roblox platform average' }, { icon: 'paid', value: '$1.5B', label: 'paid to creators', caption: 'In the last 12 months' }, { icon: 'earnings', value: '$7M', label: 'avg per top-100 creator', caption: 'In the last 12 months' }, { icon: 'rolling', value: 'Rolling', label: 'applications', caption: 'Apply anytime' }, ], whyApply: { title: 'Why apply to Jumpstart?', cards: [ { icon: 'guidance', title: 'Guidance from Roblox experts', body: 'Get guidance from experienced teams across design, engineering, growth, and more.' }, { icon: 'promotion', title: 'Promotion & marketing', body: "We'll help more players find your game through our platform and channels." }, { icon: 'community', title: 'Build with fellow game devs', body: 'Connect with a network of creators building the future of Roblox together.' }, ], }, // Video shown to the left of the "Is Jumpstart right for you?" content. video: { youtubeId: 'p1YKvhpF4NY', title: 'Roblox Jumpstart' }, fit: { title: 'Is Jumpstart right for you?', intro: 'Jumpstart is designed for creators who are ready to take their game to the next level, and more.', items: [ "You're committed to launching and growing on Roblox", 'You have a clear vision and unique gameplay', "You're ready to collaborate and iterate", ], }, lookingFor: { title: "What we're looking for", columns: [ { title: 'Genres', body: 'Fresh takes on RPG, shooter, strategy, sports, or other genres 18+ players love.', image: '/assets/developer-jumpstart/landing/looking-for-genres.webp' }, { title: 'Gameplay', body: 'Engaging core loops, replayability, and meaningful progression.', image: '/assets/developer-jumpstart/landing/looking-for-gameplay.webp' }, { title: 'Visual style', body: "Polished, expressive visuals that match your game's vision.", image: '/assets/developer-jumpstart/landing/looking-for-visual-style.webp' }, ], }, how: { title: 'How Jumpstart works', steps: [ { icon: 'apply', title: 'Apply', body: 'Tell us about your game and your goals.' }, { icon: 'review', title: 'Review', body: 'Our team reviews your application and may reach out.' }, { icon: 'community', title: 'Grow together', body: 'Accepted creators receive support to build, launch, and scale on Roblox.' }, ], }, faq: { title: 'Frequently asked questions', items: [ { q: 'What kinds of games are you looking for?', a: "Genre, gameplay, and visual style are common factors in a player's decision to try a new experience, especially for 18+ players. Entrance into Jumpstart hinges on innovation in these areas.\n\n• Genres: RPG, strategy, and shooter games are heavily underrepresented despite strong demand from older age groups. We're seeking bold games in these core genres, plus unexpected genre mash-ups and projects that blend traditional mechanics with Roblox's avatars, social features, and cross-platform support.\n• Gameplay: Deep game mechanics, metagame systems, and skillful challenges keep players coming back. We're looking for creators who seamlessly blend depth with Roblox's intuitive nature, massive multiplayer scale, and emergent social dynamics to craft highly replayable, memorable experiences and moments players can't find anywhere else.\n• Visual style: We're looking for games that push aesthetic boundaries and make players think "Wait, that's Roblox?" We're looking for teams innovating with hyper-realistic 3D assets, stylized 2.5D sprites, high-fidelity avatars, or any other technique that brings their vision to life in ways that are entirely new to Roblox." }, { q: 'Do I need prior Roblox experience?', a: "No. You don't need to have shipped on Roblox before; Jumpstart is specifically designed to help early-stage teams learn the platform and launch their first high-quality Roblox game." }, { q: 'Is this cash funding or a salary?', a: 'No. Jumpstart support is primarily in-kind: guidance, Robux-based operational support, and visibility tools, not a salary or traditional publishing deal.' }, { q: "Who's eligible to apply?", a: "Off-platform studios, new Roblox creators, and small teams from around the world can apply, as long as at least one team member is 18+. Full eligibility details will be listed on the application form. Participants should have English language skills sufficient to communicate and participate in program activities, including check-ins, milestone reviews, and cohort events. This ensures effective collaboration with Roblox staff and other participants." }, { q: "What if I'm already part of an experienced or full-time team?", a: "If you've already shipped games or have a more mature Roblox project, you may be a better fit for the Roblox Incubator Program, which is a longer, milestone-driven track for teams ready to scale a promising title." }, { q: 'What happens after Jumpstart?', a: 'If your game shows strong potential, Roblox can connect you with follow-on programs and resources, including potential Incubator consideration, to keep building momentum after launch.' }, ], }, closing: { title: '144 million players are waiting to play your game', description: 'Join Jumpstart and build the next great experience on Roblox.', cta: { label: 'Apply to Jumpstart', href: APPLY_URL }, image: '/assets/developer-jumpstart/landing/closing-banner.webp', }, };

{(() => { const mb = (n) => ({ marginBottom: n }); const flexCol = { display: 'flex', flexDirection: 'column' };

const Icon = ({ path, size = 28, color = accent }) => ( );

const SectionHeader = ({ overline, title, description }) => (

{overline && {overline}} {title} {description && {description}}
);

const Hero = ({ overline, title, description, cta, image }) => (

{overline} {title} {description} {cta.label}
);

const StatBar = ({ stats }) => (

{stats.map((s, i) => (

{s.value} {s.label} {s.caption}

))}

);

const WhyApply = ({ title, cards }) => (

{cards.map((c, i) => (

{c.title} {c.body}

))}

);

const VideoFit = ({ video, fit }) => (

{fit.title} {fit.intro}

{fit.items.map((it, i) => (
{it}
))}

<iframe src={https://www.youtube-nocookie.com/embed/${video.youtubeId}?rel=0} allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowFullScreen />

);

const LookingFor = ({ title, columns }) => (

{columns.map((c, i) => (

{c.title} {c.body}

))}

);

const HowItWorks = ({ title, steps }) => (

{steps.map((s, i) => (

{s.title} {s.body}

))}

);

// Inline parser: turns text into Link nodes. const renderInline = (s, kp) => { const re = /[([^]]+)](([^)]+))/g; const out = []; let last = 0, m, i = 0; while ((m = re.exec(s)) !== null) { if (m.index > last) out.push(s.slice(last, m.index)); out.push({m[1]}); last = m.index + m[0].length; } if (last < s.length) out.push(s.slice(last)); return out.length ? out : s; };

// Bolds a short leading "Label:" in a list item, then renders inline content. const renderItem = (it, kp) => { const ci = it.indexOf(': '); if (ci > 0 && ci <= 18) { return <>{it.slice(0, ci + 1)} {renderInline(it.slice(ci + 2), kp)}</>; } return renderInline(it, kp); };

// Block parser: lines beginning with "•" or "- " become a bulleted list; other lines are paragraphs. const renderAnswer = (s) => { const blocks = []; let list = null; s.split('\n').forEach((line) => { const t = line.trim(); const isBullet = t.charAt(0) === '•' || t.slice(0, 2) === '- '; if (isBullet) { if (!list) list = []; list.push(t.replace(/^[•-]\s*/, '')); } else { if (list) { blocks.push({ type: 'ul', items: list }); list = null; } if (t) blocks.push({ type: 'p', text: t }); } }); if (list) blocks.push({ type: 'ul', items: list }); return blocks.map((b, bi) => b.type === 'ul' ? (

    {b.items.map((it, ii) => (
  • {renderItem(it, b${bi}i${ii})}
  • ))}
) : ( {renderInline(b.text, b${bi})} ), ); };

const FAQ = ({ title, items }) => (

{items.map((item, i) => (
{renderAnswer(item.a)}
))}
);

// Closing banner uses minHeight 0 so it hugs its content: vertical space equals the symmetric padding. const Closing = ({ title, description, cta, image }) => (

{title} {description} {cta.label}
);

return (<>

</>); })()}