Virtual showroom in mobile VR app

NOVASOLUTIONS.TECHNOLOGY is engaged in the development, support and maintenance of iOS, Android, PWA mobile applications. We have extensive experience and expertise in publishing mobile applications in popular markets like Google Play, App Store, Amazon, AppGallery and others.
Development and support of all types of mobile applications:
Information and entertainment mobile applications
News apps, games, reference guides, online catalogs, weather apps, fitness and health apps, travel apps, educational apps, social networks and messengers, quizzes, blogs and podcasts, forums, aggregators
E-commerce mobile applications
Online stores, B2B apps, marketplaces, online exchanges, cashback services, exchanges, dropshipping platforms, loyalty programs, food and goods delivery, payment systems.
Business process management mobile applications
CRM systems, ERP systems, project management, sales team tools, financial management, production management, logistics and delivery management, HR management, data monitoring systems
Electronic services mobile applications
Classified ads platforms, online schools, online cinemas, electronic service platforms, cashback platforms, video hosting, thematic portals, online booking and scheduling platforms, online trading platforms

These are just some of the types of mobile applications we work with, and each of them may have its own specific features and functionality, tailored to the specific needs and goals of the client.

Showing 1 of 1 servicesAll 1735 services
Virtual showroom in mobile VR app
Complex
from 2 weeks to 3 months
FAQ
Our competencies:
Development stages
Latest works
  • image_mobile-applications_feedme_467_0.webp
    Development of a mobile application for FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Development of a mobile application for XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Development of a mobile application for RHL
    1052
  • image_mobile-applications_zippy_411_0.webp
    Development of a mobile application for ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Development of a mobile application for Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Development of a mobile application for the FLAVORS company
    445

Virtual Showroom Implementation in Mobile VR Applications

A virtual showroom is far more than a gallery of 3D product models. It is a spatial experience: users enter a virtual space, walk among exhibits, examine products from any angle, and interact with them directly. For mobile VR, this presents a significant challenge: delivering quality graphics while respecting mobile hardware limitations, and navigating interaction paradigms with 3DoF controllers in constrained environments.

Showroom Space Architecture

A VR showroom consists of "zones" between which users navigate via gaze-based interaction. Physical locomotion in mobile VR causes motion sickness—teleportation is the safer approach.

Scene structure:

Showroom
├── EntryZone (lobby with categories)
├── Zone_Furniture (furniture hall)
│   ├── ProductPedestal_001 (sofa)
│   ├── ProductPedestal_002 (table)
│   └── NavigationPortal → Zone_Lighting
├── Zone_Lighting (lighting hall)
└── Zone_Outdoor (outdoor exhibition)

Each zone is a separate Unity Scene, loaded via Addressables during teleportation. This enables detailed content without loading the entire showroom at startup.

3D Content: Balancing Quality and Performance

The primary technical challenge is rendering photorealistic products on mobile hardware. Original CAD furniture and equipment models contain millions of polygons. The optimization pipeline:

Stage Tool Target Result
Retopology ZBrush, Blender 5,000–20,000 polygons
Normal baking Substance Painter Details from high-poly to normal map
PBR textures Substance Designer 1K–2K Albedo/Normal/Roughness/Metallic
Conversion Unity Addressables iOS: USDZ, Android: glTF + KTX2

KTX2 with Basis Universal compression is mandatory for mobile Android. Heterogeneous hardware requires GPU-agnostic texture compression.

Lighting: Photorealistic Rendering Without Ray Tracing

Mobile platforms lack real-time ray tracing. Realism is achieved through:

Pre-baked lightmaps — static shadows and global illumination are computed in the Editor and stored in textures. For a showroom with fixed geometry, this is optimal. Progressive Lightmapper in Unity delivers good results. Mobile settings: Lightmap Resolution 20–40 texels/unit, Compress Lightmaps enabled.

Reflection Probes — pre-baked cubemaps for reflections on metal and glossy surfaces. Place one per zone plus additional probes near reflective objects.

Emissive materials — light sources as geometry with emissive shaders, baked into lightmaps. No real-time lights on mobile.

// Unity: dynamic Reflection Probe update on zone transition
void OnZoneEnter(ReflectionProbe probe) {
    probe.RenderProbe(); // update on teleportation, not runtime
}

Product Interaction

At the product examination point, users have access to:

Model rotation via gaze — users look at arrow controls, dwell activation rotates the model:

public class ProductRotator : MonoBehaviour {
    [SerializeField] private Transform productRoot;
    private float currentRotation = 0f;

    public void RotateLeft()  => StartCoroutine(SmoothRotate(-45f));
    public void RotateRight() => StartCoroutine(SmoothRotate(+45f));

    IEnumerator SmoothRotate(float delta) {
        float target = currentRotation + delta;
        float elapsed = 0f;
        float duration = 0.4f;
        while (elapsed < duration) {
            productRoot.rotation = Quaternion.Euler(
                0, Mathf.LerpAngle(currentRotation, target, elapsed / duration), 0);
            elapsed += Time.deltaTime;
            yield return null;
        }
        currentRotation = target;
    }
}

Color variants — switch between materials of a single model via gaze buttons with color swatches.

Info hotspots — points on the model with characteristic descriptions: "premium leather", "fast assembly system". Activated by gaze, opening in world-space panels.

Catalog and Backend Synchronization

A showroom without catalog integration is a demo, not a product. Content loads dynamically:

  • Product metadata (name, description, price, variants) — from REST API
  • 3D models — from Addressables CDN by product_id
  • Availability and pricing — real-time from catalog

When collections change, no app release is required: Addressables groups update via Content Delivery.

Add to Cart Button

The final interaction: from VR, users add products to a real shopping cart. The product info panel contains a CTA button with gaze activation. After adding—confirmation in 3D space (particle effect + sound), without exiting VR.

Deeplink from VR to cart browser/app is optional for purchase finalization outside VR mode.

Performance: Mobile Hardware Profile

Target: stable 60 FPS on devices from 2020+ (iPhone 12, Snapdragon 865). Control tools:

  • Unity Profiler: CPU Time, GPU Time, Draw Calls, Batches
  • Xcode GPU Frame Capture: iOS Metal analysis
  • Android GPU Inspector: Vulkan/OpenGL ES analysis

Typical optimizations: GPU Instancing for repeated elements (rows of chairs), occlusion culling for off-screen rooms, three-tier LOD system.

Workflow

Catalog audit: number of SKUs, 3D model formats, content update requirements.

Space design: zoning, navigation, examination points.

3D model and texture optimization pipeline.

Development: scenes, lighting, product interaction, Cardboard VR mode.

Catalog and cart integration.

Performance optimization and testing on target devices.

Timeline Estimates

A single-zone showroom with 10–20 products and basic interaction: 3–5 weeks. Multi-zone platform with dynamic catalog, product variants, cart, and CMS: 2–4 months.