Safety — Infection Challenge

Safety — Infection Challenge

An interactive Unity serious game that turns infection prevention into a two-minute touchscreen challenge, combining drag-and-drop product interactions, a reactive 3D target, and immediate visual feedback.

Interactive Game
Date
Role & stack
Unity • Touchscreen Application • Interactive Game
Dragging a solution is converted into a raycast against the 3D target, triggering progress, visual feedback, or a time penalty.
Safety — Infection Challenge

Overview

Safety — Infection Challenge is an interactive Unity experience designed to communicate the value of a combined approach to fighting infection in an immediate and engaging way. The user enters a scene inspired by a biological environment, locates a moving 3D target, and drags four solutions represented by interactive bubbles onto it: Trabecular Metal, Taperloc Iodine, Bactisure, and Synovasure.

The mechanic is intentionally simple. Each item must be used once within the available time. Every correct action shrinks the target, removes part of the surrounding swarm, and changes the visual effects associated with that product. Reusing an already completed solution applies a time penalty, while using all four solutions opens the positive summary. If the timer expires, the user is invited to try again.

The application is designed for short, self-guided sessions on a shared display. Video, animation, 3D objects, particles, and light feedback support the narrative without requiring prior instructions. At the end of each session, the state is cleared and the experience returns to the Home screen, ready for the next visitor.

The project has promotional and demonstration purposes. An on-screen regulatory notice states that the represented products are displayed for presentation or demonstration and that market availability depends on applicable regulatory compliance. The experience must therefore not be interpreted as a clinical simulation, medical device, or healthcare training tool.

The goal was to turn a complex message into an immediate touch challenge: four solutions, one target, and a visual progression understood within seconds.

Project snapshot

ItemDetail
TypeFull-screen promotional serious game with touch interaction
Use contextsEvents, congresses, trade-show booths, and demonstration spaces
Documented release1.0
EngineUnity 6.2 (6000.2.8f1)
Experience formatLandscape 16:9; 3840 × 2160 px UI reference, 1920 × 1080 px player
Interface languageEnglish
Project platformWindows UWP
DevelopmentTopTouch
Visible branding and contentZimmer Biomet and Totally Hip

Context and goals

Attention time is limited in an event environment, while scientific and product content can be difficult to communicate through a traditional presentation. The project turns a complex message into an interactive metaphor: several solutions contribute to one goal, and the result is achieved only by completing the whole combination.

The experience addresses four complementary goals:

  • Attract: use movement, video, and biological imagery to make the installation recognizable from a distance.
  • Engage: turn passive viewing into a short, readable, and repeatable touch challenge.
  • Make the message memorable: connect four content items to one visual progression instead of presenting them in isolation.
  • Provide operational continuity: work with local content, restore the initial state, and support consecutive sessions on a public device.

The value lies not in realistically simulating a medical process, but in the effectiveness of the metaphor: through action, the user understands that completing the challenge requires every represented solution.

User experience

The journey is organized into three main states:

  • Home and call to action: a looping video and animated composition introduce the experience. “Tap to Start” begins the interaction with one touch.
  • Interactive challenge: four product bubbles surround the play area. The user drags each bubble onto a 3D target that moves through the space, reacts to contact, and progressively changes state.
  • Summary: a positive screen celebrates completion of all actions; an alternative screen communicates the timeout and invites the user to try again. A touch returns to Home.

During the challenge, the timer makes the remaining time clear. Each accepted solution is visually marked; the target shrinks and the orbital swarm loses approximately one quarter of its elements. If the target is hit again with an already completed solution, the system removes 20 seconds and flashes the timer red. The current configuration does not enforce a specific order, so users can choose their own sequence.

The target is not static. Organic procedural motion keeps it alive within defined viewport bounds, and contact makes it dodge toward an area away from the hit point. This reaction adds energy without changing the core rule of the challenge.

The interface is built for touch input but also supports a mouse for development, testing, and hybrid installations. Curved labels follow the product bubbles, while separate canvases coordinate screen-space, overlay, and 3D scene content.

Experience flow

The application starts on the Home screen. The local background video loops until the user touches the panel or dedicated control. The transition prepares a new session, creates the target and swarm, resets the four bubbles, and starts a 120-second countdown.

Each drag is checked by casting a ray from the bubble's screen position into the 3D world. When the target is hit, the solution is recorded as used and the progress feedback is triggered. The fourth valid solution ends the session successfully. Reaching zero on the timer ends it with a timeout.

Transitions between Home, gameplay, and summary use a fade to black that temporarily blocks input. The summary returns to Home on touch. If no input is detected during gameplay or summary for 180 seconds, the application automatically restores the Home state.

Home / looping video
        ↓ Tap to Start
Session setup
        ↓ spawn target + swarm, reset products, timer 02:00
Touch challenge
        ├── drag an unused solution onto the target
        │      ↓ visual progress + completed solution
        ├── reuse a completed solution
        │      ↓ 20-second penalty
        ├── all four completed ────────→ Positive summary
        └── timer reaches zero ────────→ Timeout summary
                                                ↓ touch or inactivity
                                           Reset and Home

Value delivered

For the visitor

  • Makes an articulated message accessible through a rule understood within seconds.
  • Offers direct physical interaction suited to quick use in a public space.
  • Connects the names and images of four content items to one visual progression.
  • Provides immediate feedback and a clear outcome, encouraging another attempt.

For the brand and event

  • Turns the campaign message into a participatory and memorable moment.
  • Brings several content items into a coherent narrative without dense menus or text-heavy pages.
  • Creates a touchpoint that can start a conversation with staff in the space.
  • Keeps identity, message, and regulatory notices visible even during short sessions.

For operations

  • Does not depend on remote services for its core flow.
  • Restores products, 3D objects, particles, and panels between sessions.
  • Returns automatically to Home after inactivity in interactive states.
  • Maintains a full-screen structure that can also be controlled by mouse during support or testing.

My role

  • Designed the experience as a three-state flow — Home, challenge, and summary — inside a single Unity scene.
  • Implemented drag-and-drop interaction, converting UI position into a raycast against the 3D target.
  • Developed the session rules: timer, four single-use solutions, completion, timeout, and repeated-use penalty.
  • Created target reactions including organic movement, rotation, dodging, and progressive shrinking.
  • Implemented the orbital swarm and its incremental removal as a visual representation of progress.
  • Coordinated standard and completed particle effects with the product bubbles' UI positions in the 3D world.
  • Built fades, input blocking during transitions, state cleanup, and automatic return to Home.
  • Integrated the background video, Home animations, TextMesh Pro content, and curved labels.
  • Configured the Unity project as a landscape Windows UWP experience for high-resolution displays.

Application architecture

The solution keeps the production flow in SampleScene and separates responsibilities through specialized MonoBehaviour components:

  • Presentation: Home, Game, and Summary panels; screen-space and world-space canvases; TextMesh Pro; video; fades; and result content.
  • Orchestration: GameManager3D controls session state, timer, rules, panels, transitions, spawning, and reset.
  • Interaction: DraggableProduct3DHit handles the four draggable bubbles and raycasts against the target.
  • 3D world: Virus3DController controls target movement and reactions; OrbitalSwarmManager builds and reduces the swarm.
  • Feedback: ProductWorldFxManager, WorldFxFollowUI, and ParticleEmissionFader synchronize effects with product state.
  • Public-device lifecycle: HomeBackgroundVisuals, tap-to-start controls, touch summary, and idle timing manage the transition between attraction and active sessions.

The main communication path goes through the game manager. Draggable elements report a valid impact, the manager updates the game state, and then triggers reactions in the 3D objects and effects. This model keeps a single short experience easy to follow, although it concentrates a significant part of the responsibility in the manager.

┌──────────────────────────────────────────────────────┐
│                    Touch interface                   │
│      Home · four bubbles · timer · win / timeout     │
└──────────────────────────┬───────────────────────────┘
                           │ drag + screen position
┌──────────────────────────▼───────────────────────────┐
│                 Interaction and rules                │
│  3D raycast · product state · timer · time penalty   │
│                GameManager3D / session               │
└───────────────┬───────────────────────┬──────────────┘
                │                       │
┌───────────────▼──────────────┐  ┌─────▼──────────────────────┐
│           3D world           │  │       Visual feedback      │
│ target · movement · dodge ·  │  │ particles · glow · fades ·│
│ orbital swarm                │  │ UI/world synchronization   │
└──────────────────────────────┘  └────────────────────────────┘

Operational continuity and session lifecycle

At startup, GameManager3D forces the Home state. The local video loops and animated elements keep the attraction screen active. Starting a challenge creates new target and swarm instances, clears the state of all four solutions, restores standard feedback, and initializes the timer.

Closing a session immediately removes 3D objects from rendering before destroying them, clears temporary effects tagged as particles, and hides gameplay overlays. Returning to Home resets the bubbles again so that neither their position nor completion state remains visible to the next visitor.

The core experience uses local assets only and the documented application code has no dependency on APIs or online services. This reduces exposure to connectivity issues, but content and copy updates require a new application build or package.

The idle timer for the active flow is configured to 180 seconds. When it expires, a protected transition restores Home and restarts the visual cycle. Correct behavior over many consecutive sessions should still be validated on the final device, particularly for memory, particles, video, and runtime-created instances.

Security and privacy

The reviewed application code does not expose user accounts, authentication, personal-data capture, interaction persistence, or telemetry delivery to remote services. Sessions are temporary, and returning to Home clears their visual and logical state. This reduces data processing on a shared device.

The project includes UWP packaging settings and a test certificate. A real deployment requires a properly protected production certificate and checks covering package identity, declared permissions, updates, player logs, and operating-system settings. Certificates and related credentials must not be handled as ordinary editorial assets.

The content concerns a medical domain and includes a regulatory notice directly in the interface. Its readability, screen time, and legal accuracy must be approved by the relevant owners for every event, country, and content version. This document describes observable software behavior; it does not certify clinical effectiveness, regulatory compliance, medical safety, or fitness for professional use.

Design decisions and trade-offs

DecisionBenefitAspect to manage
Entire experience in one production sceneFast transitions and shared stateHierarchy complexity and initialization order
Central manager for game state and lifecycleRules remain easy to follow in a short flowComponent responsibility can grow over time
UI drag with a raycast into the 3D worldDirect gesture connecting product and targetAlignment across canvases, cameras, layers, and resolutions
Target and swarm created for each sessionClean and predictable state on every startInstantiation cost and correct effect disposal
Local content and mediaFast startup and no network dependencyEditorial updates require build distribution
Particle effects and multiple cameras/canvasesRich feedback and strong visual depthPerformance and rendering order on final hardware
Time penalty for an already used productReinforces the unique contribution of each itemRule comprehension and difficulty balance
English UI embedded in the sceneSimple production for a defined contextLess flexible localization and copy updates

Design challenges

  • Making the connection between 2D bubbles and the 3D target immediately understandable.
  • Keeping raycasts reliable while dragging across canvases with different render modes.
  • Giving the target organic and reactive movement without making it frustrating to reach on a touch screen.
  • Coordinating the timer, four solution states, swarm, target scale, and particle effects without inconsistent feedback.
  • Preserving layout accuracy and readability on a UI authored at 4K and also deployed at 1920 × 1080.
  • Providing a complete and fast reset between consecutive public sessions.
  • Balancing visual richness, transparency, video, particles, and 3D objects on continuously operated UWP hardware.
  • Presenting medical and promotional content without weakening the visibility or clarity of regulatory notices.

Quality and acceptance criteria

The following criteria make the experience verifiable on the final device:

  • Always starts on Home with the looping video, message, and touch control correctly visible.
  • Starts a new challenge with a 02:00 timer, four incomplete solutions, and 3D objects in their initial state.
  • Registers contact only on the target layer and no more than one valid hit per drag.
  • Allows the four solutions to be used in any order under the current configuration.
  • Updates the bubble, effects, target, and swarm consistently after every valid solution.
  • Removes 20 seconds and flashes the timer red when a completed solution is reused.
  • Opens the positive summary after four valid solutions and the negative summary when time expires.
  • Returns to Home by touching the summary and after 180 seconds of inactivity in interactive states.
  • Leaves no residual object, particle, position, or state after many consecutive sessions.
  • Renders correctly in 16:9 at 3840 × 2160 and 1920 × 1080, including UI-to-3D hit alignment.
  • Sustains the configured 60 fps target during video playback, target movement, swarm, and particle effects.
  • Behaves consistently with touch and mouse and blocks input during fades.
  • Keeps the entire regulatory notice readable on the physical display under expected lighting conditions.
  • Installs, signs, launches, and updates correctly as a UWP package on the event device.

Tech stack

  • Engine: Unity 6.2 (6000.2.8f1)
  • Language: C#
  • Rendering: Built-in Render Pipeline with multiple cameras and canvas render modes
  • UI and text: uGUI, TextMesh Pro, and custom curved labels
  • Input: EventSystem, touch, and mouse; project configured to support both Unity input backends
  • 3D interaction: physics raycasts, a dedicated layer, and UI/screen coordinate conversion
  • Procedural animation: Perlin noise, interpolation, rotation, pulsing, and orbital movement
  • Effects: Particle System, custom shaders/materials, and UI-to-world synchronization
  • Video: Unity VideoPlayer with a looping local clip
  • Structure: one production scene with prefabs created and removed for each session
  • Target: Windows UWP, landscape 16:9, runtime target of 60 fps

Potential evolution

The following items are a proposed roadmap and are not presented as currently available features:

  • Move products, copy, timer, penalties, and sequence into ScriptableObjects or versioned configuration instead of embedding them in the scene.
  • Add structured localization for English, Italian, and further languages without duplicating panels or manually editing each build.
  • Introduce automated tests for game rules, reset, penalties, transitions, and end-of-session conditions.
  • Further separate session lifecycle, rules, and presentation to reduce the responsibilities concentrated in GameManager3D.
  • Pool the target, swarm, and particles if device profiling reveals allocation spikes between sessions.
  • Consolidate input on the new Input System while retaining an explicit UWP touch-and-mouse test path.
  • Remove demo scenes, disabled legacy scripts, and third-party assets that are not used by the production build.
  • Run an accessibility and usability audit on the physical touch screen, covering target size, contrast, motion sensitivity, readability, and available time.
  • Formalize a UWP packaging and signing pipeline with production certificates kept outside the repository and a deployment checklist.
  • Consider privacy-respecting aggregate analytics only if there is a measurable objective, an appropriate notice, and a genuine operational need.

Highlights

  • A complex message translated into an immediate touch rule.
  • A short, continuous journey from Home to outcome, designed for events and shared spaces.
  • Consistent integration of UI bubbles, a 3D target, an orbital swarm, and particle effects.
  • Progressive feedback that visualizes the contribution of all four solutions.
  • High-resolution scenery and procedural motion designed to attract attention.
  • Local operation with no network dependency in the core flow.
  • Automatic reset and a Home loop designed for consecutive public sessions.
  • A regulatory disclaimer integrated into the experience.

Credits and rights

Unity project developed by TopTouch.
Zimmer Biomet and Totally Hip branding is visible in the project assets. Trademarks, logos, product names, scientific content, media, 3D models, and third-party assets belong to their respective owners.