I have a wall-mounted scanner prop with a Hotspot (Object to highlight pointing at a child "Screen" mesh). The Highlight component on Screen has:
Symptom: the highlight fires on mouse-exit, not mouse-enter. When the cursor moves onto the Screen object, nothing happens. When it leaves, the material briefly brightens. The Hotspot label and cursor icon behave correctly on mouseover (so AC is detecting the Hotspot fine) — it's specifically the Highlight effect that seems tied to the wrong event.
Separately, I also have "Place distant Hotspots on separate layer?" checked, with Distant hotspot layer set to a custom layer. I noticed this Hotspot's GameObject layer cycles between Default / Ignore Raycast / DistantHotspot during Play, which I've since confirmed is tied to the Player Vicinity detector's trigger radius and offset relative to the Hotspot's collider — that part now seems to be working as expected (Layer shows Default when facing the scanner directly, and the Hotspot label/cursor confirm selection). The highlight inversion persists independent of that, both when the layer is correctly Default and when standing in clear view of the object.
I don't have a custom script touching OnHotspotSelect/OnHotspotDeselect, and "Call custom events?" is unchecked on the Highlight component. Is there a known interaction between Player Vicinity detection and Mouse Over cursor feedback that could cause the Highlight component's brighten effect to bind to the wrong event in this setup? Happy to share screenshots of the Hotspot, Highlight component, and Settings Manager if useful.
It looks like you're new here. If you want to get involved, click one of these buttons!
Comments
What are your AC/Unity versions? Is this for a first-person game, or third-person 3D? Is the issue limited to just this Hotspot?
Is there any difference if you temporarily uncheck Place distant Hotspots on separate layer??
To check that the events are running at the same time as the highlight commands, place a default Cube into the scene, disable its Mesh Renderer, and use the Highlight's events to enable/disable it at runtime. Does it sync with the highlight, or show at the correct time?
The exact behaviour of Hotspot highlighting will depend on your Interface and Hotspot settings - could you share images of your full Settings Manager?
Unity 6.3 LTS (6000.3.16f1) and AC version 1.86.3
This is a third-person 3D
Issue not limited to this hotspot.
Unchecking "Place distant Hotspots on separate layer" negatively impacted player navigation.
Link to AC Game Editor screenshot: https://drive.google.com/file/d/1-Dyy1kxr5KJNDVgZRLW3MSdZMggc4Bbk/view?usp=sharing
Thank you-Jim
Thanks for the details.
In this combination of settings, the highlighting should occur based on the Player's vicinity to the Hotspot - highlighting when they enter their Hotspot Detector boundary, and un-highlighting when they exit. The cursor is still used to interact, but shouldn't affect highlighting.
I've attempted to recreate this from your settings but haven't managed to get your behaviour to occur. Is there some other factor at play that may affect things? In what way did unchecking the distant layer option affect navigation?
As an aside: if you're looking to use the cursor to select a Hotspot, but only when the Player is close to it, you also have the option of assigning an "Interaction boundary" to the Hotspot itself. If you combine this with "Mouse Over" Hotspot detection, then Hotspots will highlight with the mouse, and not rely on the Player's Hotspot Detector.
I tried using "Mouse Over" but it disrupted my use of markers when Entering and exiting doors in the game world. If it's not an imposition, perhaps seeing my scene will identify the issue? Thank you-Jim
link: [LINK REMOVED]
I've removed the link. Do not share AC's source code using public links.
Which Hotspot has the issue? The first scanner outside the starting room has no Highlight component, the others appear to be missing a Mat_Scanner_Highlight material property.
Did you try the Cube event test I mentioned above?
Hi Chris-
Apologize for error with previous link.
Thanks for the Cube diagnostic suggestion — it isolated the issue. Here's what I found:
Setup: Hotspot detection method is set to Player Vicinity (confirmed in Settings > Hotspots). The Hotspot's "Object to highlight" points to the Screen child, which has the Highlight component with Call custom events enabled.
Cube test: I added a disabled-renderer Cube and wired its MeshRenderer.enabled to On Highlight On() / On Highlight Off(). The Cube appears the instant the player enters vicinity range and disappears the instant they leave — so the events are firing at the correct times, with no lag.
The actual problem: The Screen's highlight material is inverted relative to that timing. It stays dark the entire time the player is standing in front of the scanner (vicinity active), and only lights up as the player walks away (vicinity ending). Screenshots attached — one with the player at the scanner (Screen dark), one walking away (Screen lit green).
Since the custom events are confirmed correct via the Cube test, this looks like the Highlight component's internal on/off logic for the material itself (separate from the custom UnityEvents) is inverted relative to the vicinity state. Let me know if you need anything else from my end — happy to share the Highlight component's Inspector settings or the shader/material setup if useful.
Links for screenshots:
https://drive.google.com/file/d/1lnPjeU_Y0-VvtnI_0_1Yu6SII0Tsy94G/view?usp=sharing
https://drive.google.com/file/d/1ZoATuuZGnEHFTH5aQI7as49u9_jVAUOO/view?usp=sharing
Thanks,
Jim
Check your Highlight component's Intensity curve - this controls the intensity of the highlight effect, with the x-axis ranging from 0 (off) to 1 (on). To increase the intensity of the effect applied to the material, the curve's Y value should increase with X.
Thank you - works great now. As you directed, problem turned out to be curve keyframes compressed into a tiny range instead of spanning 0–1.