Design with a Retention-First Mindset | Growth Series, Part 4
In this final session of the growth series, Meta Horizon Start Mentor Tevfik discusses how to transition from simply gaining views and installs to building a lasting player base through a retention-first design mindset. The presentation highlights the unique nature of VR as a social space where players return not just for gameplay, but for belonging and self-expression. This session was recorded in March 2026 as part of the Meta Horizon Start program. 🎬 CHAPTERS 00:00 - Introduction to growth series part 4: Retention-first design 00:43 - Defining the problem: Why growth without retention is just “churn.” 02:44 - VR as a “place”: Understanding why players return to socialize and show off 03:28 - The Retention Triangle: Direction, Identity, and Return 03:48 - Part 1: Direction—Implementing social daily challenges 04:30 - Part 2: Identity—The power of avatars, cosmetics, and visibility 05:41 - Case study: The success of the indie social VR game Blob Town 06:26 - Part 3: Return—Creating habits through weekly resets and update rewards 07:13 - The importance of “Social Moments” and the 3-second reaction rule 08:36 - Practical systems: Using "Drop Codes" to drive returns and community growth 10:55 - The Full Loop: Social moments as the engine for the player journey 12:34 - Action Items: Homework for implementing retention systems in 7 days 📚 RESOURCES ➡️ Meta Horizon Developer Forum: https://communityforums.atmeta.com/category/horizon-developer-forum ➡️ Developers Blog: https://developers.meta.com/resources/blog/ ➡️ Meta Quest Developer Hub: https://developers.meta.com/horizon/documentation/unity/ts-mqdh/ 🔗 CONNECT WITH US Sign up to get the latest news from Meta Horizon: https://developers.meta.com/horizon/newsletter 💡 LEARN ABOUT THE META HORIZON START PROGRAM The Meta Horizon Start program provides intermediate and advanced developers with hands-on support and expert guidance to accelerate app development. Join a thriving community to access the tools and go-to-market resources you need to successfully deploy and grow your app on Meta Horizon OS. Apply to Start today: https://developers.meta.com/horizon/discover/programs/start
27Views0likes0CommentsTurn Social Views Into a Lasting Community | Growth Series, Part 3
Are you struggling to turn viral VR views into an active, lasting community? In this session of the Meta Horizon Start program’s Growth Series, Meta Horizon Start Mentor and experienced VR developer Tevfik dives deep into the shift from simple visibility to true player retention in social VR games. Learn why most VR games fail not because they are bad, but because they disappear after the first impression. Tevfik shares a comprehensive five-step system to build a dedicated player base, covering everything from creating roles and moderator grinding to leveraging live streams, content creator programs, and consistent community events. Discover how to transform your VR game from just an experience into a thriving social system. This session was recorded in March 2026 as part of the Meta Horizon Start program. 🎬 CHAPTERS 00:00 - Introduction and Background in Social VR 01:02 - The Retention Problem in VR Development 01:44 - Shifting Focus to Human Progression and Community 02:27 - Step 1: Creating Identity and “Original Gangster” (OG) Roles 03:55 - Utilizing Early Access and Founders Bundles 04:32 - Step 2: Progression through Moderator Grinding 06:27 - Step 3: Establishing Presence via Live Streaming 07:36 - Step 4: Implementing a Content Creator Program 09:11 - Step 5: Hosting Consistent Community Events 10:01 - Case Study: Breaking CCU Records with a DJ Event 11:07 - Summary: Building Your VR Game as a Social System 📚 RESOURCES ➡️ Meta Horizon Developer Forum: https://communityforums.atmeta.com/category/horizon-developer-forum ➡️ Developers Blog: https://developers.meta.com/resources/blog/ ➡️ Meta Quest Developer Hub: https://developers.meta.com/horizon/documentation/unity/ts-mqdh/ 🔗 CONNECT WITH US Sign up to get the latest news from Meta Horizon: https://developers.meta.com/horizon/newsletter 💡 LEARN ABOUT THE META HORIZON START PROGRAM The Meta Horizon Start program provides intermediate and advanced developers with hands-on support and expert guidance to accelerate app development. Join a thriving community to access the tools and go-to-market resources you need to successfully deploy and grow your app on Meta Horizon OS. Apply to Start today: https://developers.meta.com/horizon/discover/programs/start
22Views0likes0CommentsBuilding a Social VR Game From Scratch Part 1: Entitlement
So, I am building Baby VR, a social VR game that I will build with the community on YouTube. While planning the curriculum, I realized that before working on the core things like Networking, Voice Chat or Game Mechanics, we need to first integrate Baby VR into the Meta Horizon Store. And it starts with the Entitlement. So, in this blog post, I will show you how I did the Entitlement for the Meta Horizon Store. Let's get started. Introduction If you're building a VR app for Meta Quest, you absolutely need to implement entitlement checking. There's no way around it. Without it, anyone could potentially access your app without actually purchasing it from the Meta Quest Store. Think of entitlement as your app's bouncer - it checks if someone actually paid to get in before letting them through the door. Meta requires entitlement checks for apps published on their store, and it's really not optional if you want to protect your work and ensure users have legitimately obtained your application. According to Meta's official documentation. In this blog post, I'll walk you through a real-world implementation that handles all the edge cases - retry logic, error handling, and proper user data retrieval. Let's dive in. How It Works: The Complete Flow Before we get into the code, here's the big picture of how the entitlement process flows: The system consists of a few key components working together=> MetaStoreManager - The main orchestrator that kicks everything off EntitlementHandler - Does the heavy lifting of verification Event System - Notifies other parts of your game when entitlement completes MetaPlayerData - Stores the user info we retrieve Step-by-Step Implementation 1. The MetaStoreManager: Your Entry Point The `MetaStoreManager` is a Unity `MonoBehaviour` that orchestrates everything. It's simple - it initializes the entitlement handler and listens for when the entitlement completes: When you call `Initialize()`, it kicks off the entitlement process. Once complete, it stores the player data for use throughout your game. 2. The EntitlementHandler: The Core Logic This is where the real work happens. The handler performs a four-step verification process with automatic retry logic (up to 3 attempts with 2-second delays between retries): The `CheckEntitlement()` method runs four critical steps in sequence - if any step fails, the whole process fails and retries: Step 2 is the critical one- `CheckUserEntitlement()` calls `Entitlements.IsUserEntitledToApplication()` which queries Meta's servers to verify the user actually purchased your app. This is where the piracy protection happens. The other steps retrieve user data (ID, display name, Oculus ID) and generate a cryptographic proof (nonce) that you can use for server-side verification later. 3. The Data Structure After successful entitlement, you get a `MetaPlayerData` object containing: public class MetaPlayerData { public string UserId; // Unique user identifier public string UserName; // Display name public string AliasName; // Oculus ID public string OculusNonce; // Cryptographic proof for server verification } The`OculusNonce` is particularly important - it's a proof token you can send to your backend server to verify the user's identity securely. Best Practices When to check: Run entitlement as early as possible - ideally during your splash screen or initial loading. Don't let users access premium features until verification completes. Error handling: The implementation includes automatic retry logic (3 attempts with 2-second delays), but you should also show user-friendly error messages and provide a manual retry option if all attempts fail. Security: Never trust client-side verification alone. Always use the `OculusNonce` to verify user identity on your backend server for critical features. This prevents tampering and ensures real security. Performance: The async/await pattern keeps everything non-blocking, so your game stays responsive during the verification process. Common Issues and Solutions Entitlement always fails? Make sure your app is properly configured in the Meta Developer Dashboard, and test on a device that has actually purchased the app. Network issues can also cause failures. Platform not initializing? Verify the Oculus Platform SDK is properly imported and check your AndroidManifest.xml for required permissions. Also ensure you're testing on actual Quest hardware. User data not retrieved? The user needs to be logged into their Oculus account, and privacy settings might be blocking access. Check both the device settings and ensure you're using a compatible SDK version. Quick Integration Example Here's the basic pattern for using this in your game: Conclusion Meta Store entitlement isn't optional - it's a requirement for protecting your VR application. The implementation we've covered gives you: - âś… Robust verification with automatic retry logic - âś… Complete user data retrieval for personalization - âś… Event-based architecture that keeps your code clean - âś… Production-ready error handling Remember to test on actual Quest hardware, verify your app configuration in the Meta Developer Dashboard, and always implement server-side verification using the `OculusNonce` for critical features. This system provides a solid foundation that protects your app while keeping the user experience smooth. The retry logic handles network hiccups, and the event system keeps everything decoupled and maintainable. Let me know if you need the source code. Additional Resources Meta's Official Entitlement Check Documentation *This blog post is based on a production implementation. Always refer to the latest Meta documentation for the most up-to-date information and best practices.*84Views3likes0Comments