Forum rules - please read before posting.

Possible Navmesh on/off glitch

Hello Chris,

We have faced with some new glitch. Maybe you can advise.

The problem is that after execution of random interaction which is set to "Pause gameplay" all Navmeshes (on different screens of current scene) become inactive (nothing happens when you click on them, character is not moving and is not reacting). But in the same time Hotspots (items or hotspots for moving to another screens) are working properly.
After interacting with several Hotspots which cause execution of several interactions (which are also set to "Pause gameplay") Navmeshes are coming to normal state and turn back on as they should.

This glitch appears only on Touch screen devices and was found on
Samsung Galaxy S20, Android 11,
Samsung Galaxy Tab 7, Android 11
Poco F3, Android 11
iPhone 13 Pro, iOS 15.2.1

It is not appearing in Unity Editor when running on iOS or Android platform.

Also there are no errors or warnings during such behavior of Navmeshes (when making Profiling in Unity when running on the touch device).

I think it might be because during Pause gameplay interactions Navmeshes are turning off to avoid character movements and after the end of these interactions Navmeshes are not turning back on for some reason.

What do you think?

Thank you for your help.
Pavel
Triomatica Games

Comments

  • What are your AC / Unity versions, and what is your scene's "Pathfinding method"?

    NavMeshes do not turn off when gameplay is blocked, because they are still necessary for cutscenes. A NavMesh will only be disabled if instructed to via e.g. the Scene: Change setting Action. Is such an Action involved?

    If Hotspot interactions are still working, you can test if the NavMesh is turning off or not by creating a test Hotspot that uses a Character: Move to point Action to have the Player pathfind to a given point.

    If they navigate the NavMesh this way, check that the Engine: Manage systems Action isn't being used to disable Player movement, or change the game's Movement method setting.

    See if you can grab the Player log for a device that shows the issue, as it may reveal warnings that point to the cause.

  • Hello Chris,

    Thank you for your answer.

    What are your AC / Unity versions, and what is your scene's "Pathfinding method"?

    Sorry forgot to mention this.
    AC = 1.74.2
    Unity = 2020.3.16f1
    Pathfinding method = Polygon Collider

    NavMesh will only be disabled if instructed to via e.g. the Scene: Change setting Action. Is such an Action involved?

    Yes, sometimes we use this Action to change NavMesh, but glitch appers randomly after execution of Actions which may contain / not contain Scene: Change setting Action.

    If Hotspot interactions are still working, you can test if the NavMesh is turning off or not by creating a test Hotspot that uses a Character: Move to point Action to have the Player pathfind to a given point. If they navigate the NavMesh this way

    Yes, Player navigate using Pathfind when NavMesh is not clickable.

    check that the Engine: Manage systems Action isn't being used to disable Player movement, or change the game's Movement method setting

    Sometimes we use Engine:Manage systems Action to disable Player movement, but the glitch appears randomly after execution of Action which are containing / not containing Engine:Manage systems Action.

    We are not changing Movement method anywhere.

    See if you can grab the Player log for a device that shows the issue, as it may reveal warnings that point to the cause.

    I will try to do this, but for now I don't know how to get logs from the device.

  • If the Player can pathfind while the issue occurs, then the Scene: Change setting Action can be discounted.

    randomly after execution of Action which are containing / not containing Engine:Manage systems Action.

    There's too much randomness here to deduce what the issue might be, but the cause likely isn't as random as it appears.

    See Unity's documentation on Player Logs for advice on getting logs from a device, but here's a simple change you can make to have the "Status Box" reveal if the player movement system is currently disabled. Open up StatusBox.cs and paste the following above the "GUI.DragWindow ();" line:

    if (KickStarter.stateHandler.MovementIsOff) GUILayout.Label ("Movement disabled");
    

    The Status Box can be enabled from the bottom of the Settings Manager. What does it display at the time of the issue?

  • Hello Chris,

    Thank you for your suggestion.

    We were able to catch the glitch in Unity Editor with Status Box enabled. Please see this video
    https://www.dropbox.com/s/36j9xyvptjoeg4r/no_movement_bug.mp4?dl=0

    Glitch occurred after execution of Interaction, which contains Engine:Manage systems Action, which should have enabled Movement, but it haven't.

    What it can be?

  • It may be a red-herring, since the "Movement disabled" label is not showing once the close-up ends.

    The difference I'm seeing between it working and not working is the presence of the "Player-first/second direction switcher" ActionLists. What are these doing, and does the problem remain if these are not run?

  • Hello Chris,

    We have fixed the bug.

    So the problem was when we turned off menus during cutscenes on touch interface version of the game. After selecting "Wait until finish?" checkboxes and putting additional ActionList:Wait for preceding problem was solved.

    How it was
    https://imgur.com/QUKCnag

    How it should be
    https://imgur.com/YSdl4Tp

    Thank you for help and sorry for the confusion.

    Best regards,
    Pavel
    Triomatica Games

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.