Download

Can't package my game : ensure ObservedKeyNames.Num() > 0

Hello everybody !

I’m a real newbie in AI programming. In fact, I just made my first attempt ^^
My BT is working pretty well in editor but when I want to package my game for win 64, I get this error :

[SPOILER]


UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: begin: stack for UAT
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: === Handled ensure: ===
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error:
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: Ensure condition failed: ObservedKeyNames.Num() > 0 [File:D:\Build\++UE4+Release-4.18+Compile\Sync\Engine\Source\Runtime\AIModule\Private\BehaviorTree\Decorators\BTDecorator_BlueprintBase.cpp] [Line: 67]
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error:
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: Stack:
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: [Callstack] 0x0000000070C82786 UE4Editor-Core.dll!UnknownFunction ]
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: [Callstack] 0x0000000070A2123A UE4Editor-Core.dll!UnknownFunction ]
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: [Callstack] 0x0000000070A3B906 UE4Editor-Core.dll!UnknownFunction ]
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: [Callstack] 0x000000006F5C63FA UE4Editor-AIModule.dll!UnknownFunction ]
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: [Callstack] 0x00000000704CE88D UE4Editor-CoreUObject.dll!UnknownFunction ]
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: [Callstack] 0x000000007058DA4C UE4Editor-CoreUObject.dll!UnknownFunction ]
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: [Callstack] 0x00000000705A51E9 UE4Editor-CoreUObject.dll!UnknownFunction ]
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: [Callstack] 0x00000000705A4704 UE4Editor-CoreUObject.dll!UnknownFunction ]
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: [Callstack] 0x00000000613068B3 UE4Editor-UnrealEd.dll!UnknownFunction ]
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: [Callstack] 0x000000006133D7BB UE4Editor-UnrealEd.dll!UnknownFunction ]
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: [Callstack] 0x00000000611D7D61 UE4Editor-UnrealEd.dll!UnknownFunction ]
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: [Callstack] 0x00000000611FF391 UE4Editor-UnrealEd.dll!UnknownFunction ]
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: [Callstack] 0x00000000434DD25F UE4Editor-Cmd.exe!UnknownFunction ]
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: [Callstack] 0x00000000434D525A UE4Editor-Cmd.exe!UnknownFunction ]
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: [Callstack] 0x00000000434D54AA UE4Editor-Cmd.exe!UnknownFunction ]
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: [Callstack] 0x00000000434E2379 UE4Editor-Cmd.exe!UnknownFunction ]
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: [Callstack] 0x00000000434E3193 UE4Editor-Cmd.exe!UnknownFunction ]
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: [Callstack] 0x00000000932E13D2 KERNEL32.DLL!UnknownFunction ]
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: [Callstack] 0x00000000945E54F4 ntdll.dll!UnknownFunction ]
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error:
UATHelper: Packaging (Windows (64-bit)):   LogOutputDevice: Error: end: stack for UAT

[/SPOILER]

I make a research on this and I found this post on the answer hub : https://answers.unrealengine.com/que…kage-game.html

I have only one decorator witch abort lower priority (to reset an active moveTo) and then, I know exactly where the problem is and what BB key is needed.
But I don’t know how to correct it…
I try to set the value of this key between the “use Blackboard” node and the “run behavior tree” one but the problem still the same…
How can I set a BB keys before the packaging ?
What “validate the setup” mean ?

Thank for your help :slight_smile:

Hi,

I am by no means a BT expert and I maybe wrong. But here is what I usually do with BB keys.

I will declare BB variable inside decorator BP and check the BB’s edit flag to true.

Then I will assign the value from BT (simply go to my BT and click the decorator’s instance and assign the BB value from there.)

That way, the BB’s value will be assigned even before the BT starts running.

The down side of this method is, I will need to set the same BB key for every decorator instance, but this will work in packaging build.

Again, I may be wrong, if you found another way to assign BB values, please let me know >.0

Hope this help.

Hi Rit !
Thank you :slight_smile:
Alas ! My problem remains…

I did what you propose :
I add the variable to the decorator BP.
Set it to editable.
Give it a default value (false)
Then, I check if the BB is valid and use the BB value if it is and the default value if not.

http://www.grosmenteur.com/post/BBvariableProblem_01.jpg

In my BT, when I select my decorator, I can set a value to the variable :

http://www.grosmenteur.com/post/BBvariableProblem_02.jpg

But I still can’t package my game. I’ve got the same error.
What did I miss ?

EDIT :
I read your answer again and I think that I miss this :

When you speak about BB variable, you don’t speak about the “resetOrder” bool but a ref to the actual BB ?
If so, I don’t understand this step :slight_smile:

Hey @JoGoiA!

Sorry for the confusion.

When I said “BB variable” I was referring to a “Black Board Key Type variable”.

I see in your second image, you have a BlackBoardKey Type which is named “resetOrder”.

So in your decorator BP, you should declare a BlackBoardKey Type (not a boolean type like in your first image), and

check its edit flag to true and assign its value (resetOrder) from BT.

And call GetBlackBoardValueAsXXX, SetBlackBoardValueAsXXX

(sorry I can’t open UE4 right now, so the function’s name could be wrong) to get/set the BB key’s value.

(I can’t find anything wrong in your decorator BP, but I don’t get BB from controller, since BT already has a reference to its BB
so calling GetBB from controller seems redundant to me, but I’m not sure whether this is an issue or not.)

Hope this helps~~

http://keyassets.timeincuk.net/inspirewp/live/wp-content/uploads/sites/34/2016/12/champagne-cork-popping-alamy-DNMH7J.jpg

I will look at what you say about the getBB thing but my package is successful :slight_smile:
Thank you so much, Rit !

Yay! Congratulations~

^.^y