Search Issue Tracker

Fixed in 2017.2.0f3



Found in


Issue ID




Bad syntax in GrammarRecognizer causes GrammarRecognizer to fail on all subsequent runs until Unity restart



To reproduce:
1) Open attached project and scene in it
2) Press Play in editor to run the simple application.
3) With a microphone plugged in and enabled, say one of the words listed in the goodGrammar.xml file:
4) The Console area of the editor should read "Phrase Recognized: " followed by the word that was heard.
5) Stop the scene.
6) In the Hierarchy, select the Grammar Recognizer game object.
7) On the Grammar Recognizer Test script, check the "Use Bad Grammar" checkbox. In code, this will load the badGrammar.xml file when the program is started (an xml file that has an intentional syntax error).
8) Repeat steps 2 and 3
9) The console area of the editor should remain empty--it will not recognize any phrases as the GrammarRecognizer silently fails.
10) Stop the play mode again
11) In the Hierarchy, select the Grammar Recognizer game object.
12) On the Grammar Recognizer Test script, uncheck the "Use Bad Grammar" checkbox.
13) Repeat steps 2 and 3 again

Expected: Step 4 happens again as good file is reloaded
Actual: GrammarRecognizer continues to silently fail

If you close Unity and restart it, the problem disappears until next time you load the broken .xml file

Reproduced in 5.4.0f3, 5.5.0f3, 5.6.0b4

Comments (2)

  1. 46373714b9f4070b4f24ace2cf65c9a4?d=mm


    Jul 08, 2020 09:01

    Is GrammarRecognizer functional only on Windows 10? I used the KeywordRecognizer with the mic built into the Oculus Rift. It worked fine.

  2. D08b2dccf53894d5ffaad2fe04414411?d=mm


    Jul 13, 2017 15:43

    It also seems to fail on some good syntax....
    Things like <tag> are breaking it.
    Also, the Microsoft example is not working. As soon as I add the "topLevel" rule, it breaks.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.