Forum rules - please read before posting.

Hotspot Shows After Dialog Option

My game uses direct control with keyboard or controller but no mouse. When you walk by a character there is generally a hotspot that says "talk." In between the moment you select a dialog option and the moment a character starts talking, the "talk" hotspot briefly flashes.

Here is an example (provided by one of my users)

This must have been one of those things I just got used to looking at until someone else brought it up to me. Now I can't unsee it and be annoyed by it haha. Is there an easy solution to this that doesn't involve going through the full game and manually disabling / enabling hotspots when starting convos? 


  • What version of AC was this built with?  We'll also need to see the Actions / ActionLists involved - are you overriding your dialogue options all within one ActionList, or triggering individual DialogOption lists?
  • Currently using AC 1.54b and typically just triggering individual dialogOptions within a conversation. Here is one example from the game: 

    Initial Hotspot interaction:

    ActionList that opens different conversations based on game progress: 


    Conversation Editor: 


    I also now remember that I had to disable player movement when entering conversations because of this same "gap" between selecting a dialog option and that dialog running (the gap where "talk" pops up again) because the player could move the character in that time. 

    Let me know if there's anything else you need to see for reference!
  • edited December 2016
    My users brought up another issue that I quickly realized is linked to this same issue. A player pointed out that if you press the action key quickly to speed through dialog, the character is left unable to talk or walk (he's stuck in place). What's happening is that they are actually interacting with that "talk" hotspot in the small window between dialog and conversation list - which then forces the conversation to end and leaves the player with disabled movement (since it only gets enabled when the conversation is supposed to end). The player must then quit the game and start over. 

    Basically what I think this all boils down to is that there is an issue with switching between menus ("conversation" and "subtitles") while talking with NPCs, where the player momentarily gains control of the player because the switch is not instant. I've tested turning off menu transitions but that didn't help. 
  • I've tried recreating, but no luck so far.  I would suggest (after backing up) that you upgrade to v1.55b before anything else so that we're both on the same page.

    There's a couple of things you can do to help locate the source of this:
    1. Temporarily switch your Menu Manager asset back to Demo_MenuManager.  If it's an issue with your own Menu system, reverting should solve it.
    2. Click Override options? in your Dialogue: Start conversation Action and try running a speech Action upon clicking each option directly in the same ActionList.
    3. Click List active ActionLists in Game window? at the bottom of the Settings Manager, which will cause the game's current state to be shown in the top-left corner.  What does it say at the exact time this occurs?  You may have to pause beforehand and skip frame-by-frame to catch it.
  • Okay I updated AC to the latest version and I didn't have to go any further than your first suggestion to figure out the exact cause of this problem. If you have an ActionList of any kind in the Conversation "when turn off" it will cause the gap. 
  • Any ideas for a fix? 

    Right now the only solution I can think of is to remove the ActionList from convo "off" and then manually go through every conversation in the game and place that action on each possible end for every conversation. I'd rather not have to do that if it can be avoided. 
  • edited December 2016
    A question. Are you locking the cursor in the center? Even if the cursor is hidden the mouse pointer will still be there. So, this could very well be an issue with ray casting (which follows the mouse position in AC to select hotspots and other stuff). I don't know what your specific setings are, but just in case try making all raycast distance 0 in the settings manager. Or putting your hotspots in the IgnoreRaycast layer.
  • edited December 2016
    What Actions are you running when the Conversation Menu is turned off?  What other settings do you have in your Conversation Menu?

    You may be able to tweak the When running property (and possibly Unfreeze 'pause' menus?) in the ActionList's Inspector to get around this issue.
  • The action itself doesn't matter - I've tried adding just a blank action in there and tried all the different settings: pause gameplay, run in background, is skippable, etc. It seems to be just the fact that there is an action at all. The action I'm currently running just unlocks a couple menus that I lock on Conversation turning on. 

    @Alverik I do lock the cursor. 

    Here are my Conversation Menu Settings: 

    I've tried convo and subtitles both without transitions as well but that didn't make any difference. Turning on "Ignore Cursor Clicks" makes it so that you can't select any of the options. 
  • Did you try lowering the raycasting ray lengths to 0 just to be sure? I asked about cursor lock specially because of that. Cause cursor lock locks the position of the mouse pointer right at the center of the screen. And as I said, even if not visible, it's still there, right at the center of the screen, functioning. I sort of remember seeing that behaviour a few months ago, while doing third person. What's your hotspot detection method? I assume is Player vicinity and nearest only? (that is, if those area available in 2D? Sorry I ask, I only do 3D...) 

    Anyway, to me it looks like something is selecting a hotspot briefly once the normal gameplay resumes (thus showing the hotspot title), and a good candidate for that would the the pointer hidden right at the center of the screen. have you noticed if this happen at other places in the screen or is it alway just the center? Maybe your hotpot detector or the mouse pointer are becoming active for an instant. How are you managing these? Do you have any actionlists manipulating their states that may have a delay turning them on/off or something(like engine: manage systems)? I know some people animate the hotpot detector in 2D so that it repositions itself to where the player is facing, maybe the detector is in the wrong place for an instant?
  • @witheredCrow - The Action does matter, because we need to see if the duration of the label showing is related to the duration that the Action is running.  Try using a simple Engine: Wait Action of 2 seconds.  Does the label show for all of those 2 seconds?  What is the exact contents of the debug box in the corner of the Game window?
  • @Alverik I disable the cursor on boot up with engine: manage systems and also have it set to "never display" in the Cursor  manager. The hotspots are set to player vicinity and nearest only. I don't change any of these settings during the dialog or during the gameplay and I don't animated the hotspot detector at all. So I wouldn't assume it's the cursor picking up a hotspot because then it should show during normal gameplay too, right? I would test the raycasting suggestion out but I'm not sure how to go about doing that :/ 

    @ChrisIceBox Sorry, I meant that what type of action didn't make a difference rather than that the action itself didn't matter. I tried adding an engine wait 2 seconds to the action on Convo off and it had very interesting results! There was the 2 second pause between choosing an option and the dialog starting, as would be expected, but this seems to have also eliminated the issue of the hotspot firing off in that gap. I tried to set it to .1 seconds, thinking maybe that'll be a workaround fix, but that didn't work (hotspot still popped up). However, if I make it .5 seconds then it does seem to fix to this issue. And at half a second, the pause is barely noticeable so I'll probably push this as a fix for now.

    The AC status during that gap:
    Current game state: Cutscene

    ActionLists running:

    ActionList Asset running: 

    Gameplay is blocked 

    Let me know if there's any more info you need or if there's anything else you'd like me to test to find the exact cause. 
  • Thanks for the info.  Could the wait duration needed be tied to the Conversation Menu's transition time?  I wonder if slowing the transition of that would mean a longer wait time is then also needed.
  • Sorry for the delay, I was away for the holidays. 

    I tried lengthening the transition times of conversation and subtitle menus but the wait time didn't need to be adjusted (wait time still worked as a fix even though it was shorter than transition times of menus). I also tried removing the wait time while keeping the longer transitions and that gap where the hotspot is active still seems to flash just as quickly despite the longer menu transitions. 
  • How about removing the menu transitions completely?
  • That was one of the first things I tried out, it doesn't seem to have any affect. I tried turning them off again with the wait in there and experimented with different wait times; the wait is still solving the issue and doesn't change with transitions off.
  • To refresh, is this workaround working for you?  I still can't recreate it, so I think I'd need you to send me a working example in order to do something about it.
  • Yeah, adding that engine wait workaround is working for me. So it's not an issue anymore, I was just trying to help you see if you could determine the root of it. I can probably get something together to send you, if you still would like to investigate it further. Otherwise, since it's such a rare occurrence it may not be worth the time. I'll leave that up to you though!  
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.