Template Customization Guide

Safely add your custom content to the U3D template while preserving deployment and professional URL functionality

Safe Template Customization

The U3D template provides a complete foundation for interactive 3D web experiences with professional URLs and monetization. This guide shows you how to safely add your custom content while preserving the essential systems that power deployment, professional URLs, and platform features.

🛡️ Critical: Always Include These Components

U3D CORE - DO NOT DELETE prefab contains essential systems for deployment, professional URL generation, and platform integration. Removing or breaking these components will prevent your content from publishing to Unreality3D.

Location: Assets/U3D/Prefabs/U3D CORE - DO NOT DELETE.prefab

Essential System Components

Understanding which components are required vs. optional helps you customize safely while maintaining full platform functionality.

🔥
FirebaseIntegration
Handles deployment pipeline, professional URL generation, GitHub Pages integration, and PayPal processing. Absolutely required for all deployments.
REQUIRED - Never Remove
🌐
U3D_FusionNetworkManager
Manages multiplayer networking with Photon Fusion. Required only if enableMultiplayer = true in FirebaseIntegration component.
Required if Multiplayer
👤
U3D_PlayerSpawner
Spawns the U3D_PlayerController at runtime. Required only if enableMultiplayer = true and you want the default player controller.
Required if Multiplayer
🖱️
U3D_CursorManager
Optimizes cursor behavior for WebGL builds. Improves user experience but not deployment-critical.
Optional but Recommended
🎮
Input System Manager
Unity's new Input System. Required for U3D_PlayerController but can be replaced if using your own input system.
Required for U3D Controller
📱
EventSystem
Unity UI event handling system. Required for any UI interactions, quest systems, or monetization tools.
Required for UI

Choose Your Customization Path

Select the approach that best fits your project needs. Each path preserves deployment functionality while giving you different levels of creative control.

🎮
Keep U3D Systems
Use the full U3D platform with multiplayer, character controller, and interactive systems. Best for social experiences, games, and fully interactive content.
  • Full multiplayer support
  • Professional character controller
  • Interactive systems (quests, inventory, etc.)
  • All monetization tools available
  • Zero configuration required
📱
Single-Player Experiences
Disable multiplayer but keep other U3D systems. Perfect for single-player games, educational content, or personal showcases.
  • Disable enableMultiplayer in FirebaseIntegration
  • Keep U3D character controller
  • Keep quest system and monetization tools
  • Simpler deployment pipeline
  • Still professional URLs and publishing
🎨
Custom Camera/Controller
Replace the U3D character controller with your own camera system. Ideal for 2D games, architectural walkthroughs, or unique interaction models.
  • Set enableMultiplayer = false
  • Remove/replace Input System Manager
  • Add your own camera/controller
  • Keep Firebase integration for deployment
  • Keep monetization if needed

Customizing the Character Controller

💡 Character Controller Customization

Before replacing the entire controller system, consider customizing the existing U3D Universal Character Controller. It offers 25+ configurable features that might meet your needs without requiring custom code.

Learn more: Universal Character Controller Guide

Critical Project Settings

These Unity Project Settings must be preserved for successful deployment to Unreality3D's professional URL system.

⚠️ WebGL Publishing Settings

These settings are required for the U3D deployment pipeline to work correctly. Changing them may prevent deployment or cause loading failures.

1
Compression Settings
Configure Unity's WebGL compression for U3D deployment compatibility
Project Settings > Player > WebGL > Publishing Settings
Compression Format: Disabled
Decompression Fallback: Unchecked
Data Caching: Unchecked
2
Product Name Configuration
Set your final URL path and ensure consistency across systems
Project Settings > Player > Product Name
This becomes your professional URL path: yourname.unreality3d.com/[ProductName]/
⚠️ Use U3D Creator Dashboard to change this, not Project Settings directly
3
Build Target
Ensure WebGL is selected as the active build platform
File > Build Settings
Select WebGL platform
Click Switch Platform if needed
Add your scenes to the build (remove default scene if not used)

🚨 Product Name vs Project Name

Product Name: Controls your professional URL path (yourname.unreality3d.com/ProductName/)

Project Name: Unity project folder name (not used in URLs)

Important: Always change Product Name through the U3D Creator Dashboard, not directly in Project Settings, to avoid sync issues.

Publishing Configuration

Configure your project for seamless deployment through the U3D Creator Dashboard.

Firebase Integration (Required)

🔥 Firebase Dependency

Firebase Integration cannot be removed because it handles:

• Deployment to GitHub Pages
• Professional URL registration
• Large file chunking and processing
• Template processing and routing
• PayPal integration (even if unused)

Optional Features You Can Disable

💰
PayPal Monetization
Adding a PayPal email is completely optional. Leave blank if you don't want monetization features.
Optional
🌐
Multiplayer Networking
Set enableMultiplayer = false in FirebaseIntegration to disable networking and player spawning.
Optional
🎯
U3D - Optional
Children of the U3D - Optional game object in the _My Scene scene Hierarchy, including a Settings UI, Directional Light, and Post Process volume are purely for convenience.
Optional

Scene Management

You can modify scene names and add multiple scenes while preserving deployment functionality.

Adding Your Custom Scenes

1
Create New Scenes
Add your custom scenes to the Build
Scene Creation
File > New Scene
Save in your preferred folder structure
Name scenes descriptively (MainMenu, Level1, etc.)
2
Add U3D CORE to Each Scene
Ensure platform functionality in all scenes
Required Setup
Drag U3D CORE - DO NOT DELETE prefab into each scene
Configure enableMultiplayer based on scene needs
Adjust spawn points if using player controller
3
Update Build Settings
Include scenes in WebGL build
File > Build Settings
Add scenes to build list
Set main scene as Scene 0
Remove default _My Scene if not used
Ensure WebGL platform selected

Scene Transitions

🔄 Multi-Scene Support

The U3D template supports multiple scenes, but scene transitions require custom scripting. You can:

• Use Unity's SceneManager.LoadScene() for basic transitions
• Implement loading screens and progress indicators
• Preserve player data between scenes
• Handle multiplayer players across scene changes

Testing Your Customizations

🧪
Editor Testing
Test in Unity Editor Play Mode first. Most U3D features work in editor for rapid iteration.
Always test first
🔨
Local WebGL Build
Build locally to test WebGL-specific functionality before deploying to professional URL.
Recommended
🚀
Production Deploy
Use U3D Creator Dashboard > Publish to deploy to your professional URL after local testing.
Final step

Ready to Customize?

🎯 Next Steps

1. Choose your customization path based on your project needs

2. Verify required Project Settings for WebGL deployment

3. Add your custom content while preserving U3D CORE systems

4. Test in Unity Editor and local WebGL build

5. Deploy via U3D Creator Dashboard to your professional URL

📚
Learn Character Controller
Explore 25+ configurable features before building custom controllers
🛠️
Migration Guide
Import existing Unity projects into the U3D template
Coming Soon
Content Migration Guide with MigrationTools
🎮
Interactive Systems
Add grabbable objects, quests, and monetization tools