Simultaneous Hotspot labels

This script allows you to display multiple Hotspot labels at the same time - either always during gameplay, or when the Hotspot is highlighted. It works by making a copy of the Hotspot menu defined in the Menu Manager.

It is particularly useful when working with Touch Screen input in conjunction with Player Vicinity hotspot detection, since that involves nearby Hotspots highlighting without becoming selected.

First, create a Hotspot menu (or modify the default one) with both an Appear type and Position of On Hotspot. To prevent it showing up normally as well, also check Start game locked off? (our copies will be unlocked through script).

To have it display at all times during gameplay, check Always Show During Gameplay in the component's Inspector. Otherwise, you will need to define a Highlight component for each Hotspot. If you don't want the Highlight to have a visible effect on any mesh, uncheck Auto-brighten materials?.

Create a new C# script named MultiHotspotLabel, and attach it to each Highlight GameObject:

In its component Inspector (or by modifying the script), set the Menu Name value to the name of the Hotspot Menu listed in your Menu Manager that should be copied each time. The Hotspot To Show and Highlight To Sync values will also need to be assigned, but this is automatic if these components are already on the same GameObject as the above script.

When the game runs, the script will automatically add its own functions to the Highlight component's custom events.