Your Project, Your Way
The U3D template gives you a complete foundation for interactive 3D web experiences with professional URLs and monetization. This guide covers how to safely add your custom content while keeping the systems that power deployment and platform features intact.
🛡️ U3D CORE Prefab — Do Not Delete
The U3D CORE - DO NOT DELETE prefab contains the systems that handle deployment, professional URL generation, and platform integration. Removing it will prevent your content from being served at Unreality3D.com.
Location: Assets/U3D/Prefabs/U3D CORE - DO NOT DELETE.prefab
What's Required vs. Optional
The U3D CORE prefab contains several components. Only one is required for every project. The rest depend on what you're building.
Handles the deployment pipeline, professional URL generation, GitHub Pages integration, and PayPal processing. This is what connects your Unity project to your live unreality3d.com URL.
REQUIRED - Never Remove
Manages multiplayer networking with Photon Fusion. Only needed if you have enableMultiplayer turned on in FirebaseIntegration.
Required if Multiplayer
Spawns the player controller at runtime. Required when using multiplayer with the default U3D player controller.
Required if Multiplayer
Optimizes cursor behavior for WebGL builds. Not required for deployment, but improves the experience for visitors.
Optional but Recommended
Unity's Input System. Required for the U3D player controller, but can be replaced if you're using your own input setup.
Required for U3D Controller
Unity's UI event handling. Required for any UI interactions, including monetization tools and the settings menu.
Required for UI
Choose Your Path
Pick the approach that fits your project. All three preserve deployment to your professional URL.
🎮
Full U3D Systems
Use everything the template offers. Multiplayer, character controller, interactivity tools, monetization. Best for social experiences, games, and interactive showcases.
- Multiplayer networking out of the box
- Configurable character controller + avatar animation
- One-click interactivity tools
- Media tools (audio, video, worldspace UI)
- Monetization tools available
- Zero configuration required
📱
Single-Player Experience
Disable multiplayer but keep U3D tools. Perfect for single-player games, educational content, portfolios, or personal showcases.
- Turn off enableMultiplayer in FirebaseIntegration
- Keep the character controller + interactivity
- Keep media and monetization tools
- Simpler deployment, same professional URL
🎨
Custom Camera / Controller
Replace the U3D player controller with your own camera or input system. Great for 2D games, architectural walkthroughs, or unique interaction models.
- Set enableMultiplayer = false
- Replace or remove Input System Manager
- Add your own camera and controls
- Keep FirebaseIntegration for deployment
- Keep monetization if needed
💡 Before Building a Custom Controller
The U3D character controller is highly configurable from the Inspector. Before replacing it, check whether the built-in options already cover what you need. Universal Character Controller Guide →
Critical Project Settings
These settings must stay as-is for the deployment pipeline to work. The template ships with them already configured.
⚠️ WebGL Publishing Settings
Changing these settings may prevent deployment or cause loading failures at your live URL.
1
Compression Settings
These are pre-configured in the template. Don't change them.
Project Settings → Player → WebGL → Publishing Settings
Compression Format: Disabled
Decompression Fallback: Unchecked
Data Caching: Unchecked
2
Product Name
Your Product Name becomes your professional URL path.
unreality3d.com/creator/ProductName/
Always change Product Name through the U3D Creator Dashboard, not directly in Project Settings. This keeps everything in sync across your project, repo, and URL.
3
Build Target
Make sure WebGL is your active build platform.
File → Build Settings
Select WebGL platform
Click Switch Platform if needed
Add your scenes to the build list
🚨 Product Name vs. Project Name
Product Name controls your professional URL path (unreality3d.com/creator/ProductName/).
Project Name is just your Unity project folder name. It has no effect on your URL.
Always use the U3D Creator Dashboard to change your Product Name so the pipeline, repo, and URL all stay in sync.
Publishing & Monetization
Publishing happens through the U3D Creator Dashboard in the Unity Editor. Click Publish, and the pipeline handles building, chunking large files, deploying to your GitHub repo, and making your content live at your professional URL.
FirebaseIntegration (Required)
🔥 Why FirebaseIntegration Can't Be Removed
Even if you don't use multiplayer or monetization, FirebaseIntegration handles deployment to your GitHub repo, professional URL registration, large file chunking, and template processing. It stays.
Features You Can Turn Off or Skip
Completely optional. Leave the PayPal email blank if you don't want monetization. Donations work today on the free GitHub Pages hosting. For full commercial use (paid access, shops, event gates), a planned paid hosting option through Firebase Hosting will give creators the compliance and flexibility that commerce requires. The 95/5 voluntary transaction split applies to both. Creators who set up their own monetization keep 100%.
Optional
Turn off enableMultiplayer in the FirebaseIntegration Inspector to disable networking and player spawning entirely.
Optional
The children of the U3D - Optional game object in your scene hierarchy (Settings UI, Directional Light, Post Process volume) are convenience items. Delete or replace any of them.
Optional
Scene Management
You can rename scenes, add new ones, and organize them however you want. The only rule: every scene needs the U3D CORE prefab.
1
Create Your Scenes
Add custom scenes for your project.
Scene Setup
File → New Scene
Save wherever you like in your project
Name scenes descriptively (MainMenu, Level1, etc.)
2
Add U3D CORE to Each Scene
Drag the prefab in so platform features work everywhere.
Required
Drag U3D CORE - DO NOT DELETE into each scene
Set enableMultiplayer per scene if needed
Adjust spawn points for the player controller
3
Update Build Settings
Include your scenes in the WebGL build.
File → Build Settings
Add scenes to the build list
Set your main scene as Scene 0
Remove the default _My Scene if you're not using it
💡 Dashboard Shortcuts
You don't have to dig through your project folders to find these prefabs. The Creator Dashboard has one-click tools for both:
Game Systems tab → Add U3D Core Prefab drops the U3D CORE prefab into your current scene with duplicate checking built in.
Media & Content tab → Add Settings UI drops in the settings menu as a prefab instance, ready to go.
🔄 Multi-Scene Transitions
The template supports multiple scenes in one build. Scene transitions use Unity's standard SceneManager.LoadScene(). Loading screens, progress indicators, and data persistence between scenes are up to you.
Build Optimization & Migration
The Creator Dashboard's Optimize tab has two sections: Asset Optimization for managing build size, and Migration Cleanup for creators bringing projects from other platforms.
Asset Optimization
These tools scan your project and let you make changes in bulk, so you don't have to open every texture or audio file individually.
Scan textures by size, filter by folder and type, and apply resolution, crunch compression, or mipmap settings in bulk. Changes apply as WebGL-specific overrides, so your source assets stay untouched.
Optimize Tab → Asset Optimization
Find large audio files and adjust compression settings across your project. Like textures, changes apply as WebGL overrides.
Optimize Tab → Asset Optimization
Review mesh vertex and triangle counts across your scene, sorted by complexity. Helps you spot which models are eating the most budget.
Optimize Tab → Asset Optimization
Migration Cleanup
If you're bringing a project from another platform, you'll likely have leftover scripts and broken references from that platform's proprietary SDK. The Migration Cleanup tools help you deal with those so you can move forward without starting from scratch.
Replace missing script references with visible placeholders (so you can see what was there), clean them from scenes, or clean them from prefabs in bulk. The recommended workflow: replace first to see what you're working with, then clean up once you've rewired what you need.
Optimize Tab → Migration Cleanup
Detect broken object references in components, add tracking placeholders so you can find and rewire them, and clean up the placeholders when you're done.
Optimize Tab → Migration Cleanup
These tools won't magically port your old project's logic. Proprietary platform hooks can run deep. But they save real time on the tedious cleanup work, and they're getting better as more creators bring real projects through them.
Honest expectations
Testing Your Customizations
Test in Unity Editor first. Most U3D features work in Play Mode for fast iteration.
Always test here first
Build locally to catch WebGL-specific issues before deploying to your live URL.
Recommended before deploy
Use the Creator Dashboard's Publish tool to deploy to your professional unreality3d.com URL.
Final step
Explore the Documentation
Each major system has its own guide. Start with whatever's relevant to your project.
🎮
Character Controller
Configurable movement, camera, and input settings. Customize from the Inspector before building anything custom.
🛠️
Interactivity Tools
One-click tools for grabbable, throwable, kickable, pushable, climbable, rideable objects and more.
🎵
Media & Content
Audio playlists, video players, and worldspace UI for rich, immersive experiences.
👤
Avatar Animation
Drop-in avatar visuals and animation that sync automatically in multiplayer.
🎯
Quest System
Guided player experiences with objectives, triggers, and quest givers.
📏
Platform Capabilities
File size limits, browser constraints, and what to keep in mind for WebGL.