How to Integrate Behaviour Designer with UCC 3

justingirard

New member
Hello!

I have essentially every single Opsive asset. I believe everything is the latest version, although I must admit, it is challenging to reconcile with all the invoice numbers and asset store packages, how exactly they all fit. I am trying to get a simple Deathmatch AI character into a scene with my UCC character. I can not seem to get the packages to import.

I tried importing all dependencies in the asset store. I also tried (via various invoice numbers) to locate and install a package from the integrations screen. Specifically I have Installed "BehaviorDesigner_Runtime_Source.unitypackage" As I believe this is required?

Currently these are my imported assets:
- Behavior Designer
- Behavior Designer Movement
- Opsive.DeathmatchAIKit
- Opsive.UltimateCharacterController

With respect to the obvious likely root cause, I seem to have two runtime files for the behaviour designer (Which seem to be trying to occupy the same name spaces):
- Behaviour Designer\Runtime\ BehaviorDesigner.Runtime.dll
- Behaviour Designer\Runtime\ BehaviorDesigner.Runtime.dll.asmdef

I did try to get everything running BEFORE installing "BehaviorDesigner_Runtime_Source.unitypackage", and the errors below existed before this import. Before I dig in, and start to fiddle with file names, and code, I wanted to ask what is going on. As a developer, I can dig in, but I am afraid I may cause more errors and issues than I may solve.


I get the following errors:
----

Assets/Opsive/DeathmatchAIKit/Scripts/AI/DeathmatchAgent.cs(10,36): error CS0234: The type or namespace name 'UltimateCharacterController' does not exist in the namespace 'BehaviorDesigner.Runtime' (are you missing an assembly reference?)

Assets/Opsive/DeathmatchAIKit/Scripts/AI/DeathmatchAgent.cs(26,36): error CS0246: The type or namespace name 'BehaviorTreeAgent' could not be found (are you missing a using directive or an assembly reference?)

Assets/Opsive/DeathmatchAIKit/Scripts/AI/Actions/Attack/Attack.cs(11,42): error CS0234: The type or namespace name 'UltimateCharacterController' does not exist in the namespace 'BehaviorDesigner.Runtime.Tasks' (are you missing an assembly reference?)

Assets/Opsive/DeathmatchAIKit/Scripts/AI/Conditions/Attack/IsAmmoLow.cs(11,42): error CS0234: The type or namespace name 'UltimateCharacterController' does not exist in the namespace 'BehaviorDesigner.Runtime.Tasks' (are you missing an assembly reference?)

Assets/Opsive/DeathmatchAIKit/Scripts/AI/Conditions/Attack/IsNearAmmo.cs(11,42): error CS0234: The type or namespace name 'UltimateCharacterController' does not exist in the namespace 'BehaviorDesigner.Runtime.Tasks' (are you missing an assembly reference?)

Assets/Opsive/DeathmatchAIKit/Scripts/AI/Actions/Attack/DetermineWeapon.cs(11,42): error CS0234: The type or namespace name 'UltimateCharacterController' does not exist in the namespace 'BehaviorDesigner.Runtime.Tasks' (are you missing an assembly reference?)

Assets/Opsive/DeathmatchAIKit/Scripts/AI/Actions/Attack/SearchForAmmo.cs(11,42): error CS0234: The type or namespace name 'UltimateCharacterController' does not exist in the namespace 'BehaviorDesigner.Runtime.Tasks' (are you missing an assembly reference?)

Assets/Opsive/DeathmatchAIKit/Scripts/AI/Conditions/Attack/IsAmmoLow.cs(30,53): error CS0246: The type or namespace name 'SharedItemDefinitionBase' could not be found (are you missing a using directive or an assembly reference?)

Assets/Opsive/DeathmatchAIKit/Scripts/AI/Actions/Attack/TryThrowGrenade.cs(11,42): error CS0234: The type or namespace name 'UltimateCharacterController' does not exist in the namespace 'BehaviorDesigner.Runtime.Tasks' (are you missing an assembly reference?)

Assets/Opsive/DeathmatchAIKit/Scripts/AI/Conditions/Attack/IsNearAmmo.cs(32,53): error CS0246: The type or namespace name 'SharedItemDefinitionBase' could not be found (are you missing a using directive or an assembly reference?)

Assets/Opsive/DeathmatchAIKit/Scripts/AI/Actions/Attack/Attack.cs(25,27): error CS0246: The type or namespace name 'StartStopUse' could not be found (are you missing a using directive or an assembly reference?)

Assets/Opsive/DeathmatchAIKit/Scripts/AI/Actions/Attack/TryThrowGrenade.cs(25,36): error CS0246: The type or namespace name 'StartStopUse' could not be found (are you missing a using directive or an assembly reference?)

Assets/Opsive/DeathmatchAIKit/Scripts/AI/Actions/Attack/SearchForAmmo.cs(25,53): error CS0246: The type or namespace name 'SharedItemDefinitionBase' could not be found (are you missing a using directive or an assembly reference?)

Assets/Opsive/DeathmatchAIKit/Scripts/AI/Actions/Attack/SearchForAmmo.cs(29,28): error CS0246: The type or namespace name 'SharedItemDefinitionBase' could not be found (are you missing a using directive or an assembly reference?)

Assets/Opsive/DeathmatchAIKit/Scripts/AI/Actions/Attack/DetermineWeapon.cs(46,10): error CS0246: The type or namespace name 'ItemSetCategoryDrawerAttribute' could not be found (are you missing a using directive or an assembly reference?)

Assets/Opsive/DeathmatchAIKit/Scripts/AI/Actions/Attack/DetermineWeapon.cs(46,10): error CS0246: The type or namespace name 'ItemSetCategoryDrawer' could not be found (are you missing a using directive or an assembly reference?)

Plugin 'Assets/Behavior Designer/Runtime/BehaviorDesigner.Runtime.dll' has the same filename as Assembly Definition File 'Assets/Behavior Designer/Runtime/BehaviorDesigner.Runtime.asmdef'. Rename the assemblies to avoid hard to diagnose issues and crashes.

Plugin 'Assets/Behavior Designer/Runtime/BehaviorDesigner.Runtime.dll' has the same filename as Assembly Definition File 'Assets/Behavior Designer/Runtime/BehaviorDesigner.Runtime.asmdef'. Rename the assemblies to avoid hard to diagnose issues and crashes.
 
After investigating, It looks like on my "Downloads" page (plugging in each invoice number") I do not see the UCC / Behaviour Designer Integration available perhaps?

Ideally these integrations could just be packaged in the asset store for easy community install? Either that, or the mapping of invoice ID ---> inetrgations has to be very sophisticated. I bought the Deathmatch Bundle in 2021, and It seems like that Invoice ID may not have the integration? I do see that I have an up to date Behaviour Designer and related packages. In addition, I have purchased UCC3, and when looking that that Invoice ID, it also does not (seem to) contain the Behaviour Designer integration.

I seem to have solved the conflicting Assembly error by removing the DLL, and using the Behaviour Runtime Source (which I inadvertantly installed thinking it was the UCC3 + Behaviour Designer integration from the downloads screen -- as it seemed like the only package related to BD on my downloads page).

Overall, I think this whole process needs streamlining, as I am guessing at the above. Perhaps I DO have access via one of my old invoices, but just do not have the knowledge to identify the correctly named download.

When I try to visit "https://opsive.com/integrations/?pid=803", and type in ANY of my invoice IDS, none of them work. The only message I get is a not found message. Either the URL is wrong, the package is missing, or my invoice IDs do not give me access to a package I should have access to
 
I started over, and reinstalled step by step, and it does see that the only thing I am missing is access to the integration at https://opsive.com/integrations/?pid=803.

The relevant Invoices I have are
- INV "A": The Deathmatch Bundle (which included Legacy Deathmatch AI, BD Movement, and BD) from 2021. Of the three, one has been deprecated (Deathmatch AI) so I bought a new version (Inv "B")

- INV "B": The UCC3.
---- Which seems to have included Deathmatch AI? I am unsure which invoice unlocked this on the asset store, but it was purchased the same day as the UCC3.

(aside: I also have the Ultimate Inventory solution, 2023).

update: My Invoice IDs do work. (Aside, there seems to be some kind of bug with the downloads page. Meaning I must paste my invoice IDs from my PDF first into notepad, then into the website, for them to work. I suspect some kind of character encoding error -- I would make sure to normalize the characters to something like Unicode or UTF-8, and trimming, before DB lookup).

I have downloaded (over my two invoices "A" and "B") many packages, and so far, after inspection, I can not see the one I need in the list. The BD instructions say, on downloads, to download UCC integration -- however it is not on the page. I suspect it is because BD was given to me as part of the Deathmatch Bundle, so perhaps that invoice type was not assigned the UCC3 integration? (guess)

Overall, I think it is very unclear how to approach integration. I have many packages downloaded, so it is very likely that in my list, that I somehow have the right project somewhere.
 
Last edited:
I tried importing all dependencies in the asset store. I also tried (via various invoice numbers) to locate and install a package from the integrations screen. Specifically I have Installed "BehaviorDesigner_Runtime_Source.unitypackage" As I believe this is required?
No, you do not need the runtime source to get deathmatch working.

After investigating, It looks like on my "Downloads" page (plugging in each invoice number") I do not see the UCC / Behaviour Designer Integration available perhaps?

Yes, that's correct. You are missing the Ultimate Character Controller / Behavior Designer integration package. This page has instructions for how to download that (you will need your Behavior Designer invoice number):


The getting started page should clear everything up. Each package is updated independently and the Deathmatch AI Kit is an add-on so everything isn't able to be packaged in a single install.

None of my Invoice IDs work. They all return "Nothing Found."
Make sure you are using your Behavior Designer invoice number. If it still doesn't work please send your invoice to support@opsive.com and I can take a look.

Once you get it working if you can update your deathmatch review that would be great.
 
Thanks for the response! Now that I understand the problem and the code base more fully I am able to express my problem more precisely. Sorry about the review. I was on about hour 20 of trying to get things running. I will absolutely update the review after.

Since I got behaviour designer in 2021 as part of the bundle, the Invoice only has the following packages. Can you assist? This is the list online:
BD Invoice packages. I do not see anything named anything like "Behavior Designer / Character Controller integration"
----
Downloads for Ultimate Deathmatch Bundle
-----
SHARED SOURCE
A* PATHFINDING PROJECT (VERSION 2)
CINEMACHINE (VERSION 2)
CONTROL FREAK (VERSION 2)
DIALOGUE SYSTEM (VERSION 2)
EASY TOUCH
EDY’S VEHICLE PHYSICS (VERSION 2)
FINAL IK (VERSION 2)
HIGH DEFINITION RENDER PIPELINE (VERSION 2)
INCONTROL (VERSION 2)
INPUT SYSTEM (VERSION 2)
LOVE/HATE
MASTER AUDIO (VERSION 2)
NWH VEHICLE PHYSICS (VERSION 2)
PLAYMAKER (VERSION 2)
QUEST MACHINE (VERSION 2)
RAYFIRE (VERSION 2)
REALISTIC CAR CONTROLLER (VERSION 2)
REWIRED (VERSION 2)
ULTIMATE INVENTORY SYSTEM (VERSION 2)
UMA (VERSION 2)
UNIVERSAL RENDER PIPELINE (VERSION 2)
TUTORIAL RESOURCES
BEHAVIOR DESIGNER RUNTIME SOURCE
CTF/RTS SAMPLES
MINIGAUNTLET SAMPLE
UTILITY THEORY SAMPLE
ULTIMATE CHARACTER CONTROLLER (LEGACY)
ULTIMATE INVENTORY SYSTEM
PLAYMAKER
A* PATHFINDING PROJECT
ADVENTURE CREATOR
ANTICHEAT TOOLKIT
BLOX VISUAL SCRIPTING
BOLT
CAMERA PATH ANIMATOR
CINEMA DIRECTOR
CONTROL FREAK
CORE GAMEKIT
CURVY
DIALOGUE SYSTEM FOR UNITY
DOTWEEN
FINALIK
INVENTORY PRO
LEAN TWEEN
LOVE/HATE
MASTER AUDIO
MIRROR
NGUI
POLYNAV
POOL BOSS
POOLMANAGER
POOL TRIGGER CONSTRAIN BUNDLE
REWIRED
SIMPLE WAYPOINT SYSTEM
USCRIPT
 
Ah, you got the old bundle. When you redeemed Behavior Designer it should have given you a separate order/invoice number. It's this number that you want to use. With that said, I also just added version 3 of the character controller integration to the bundle list so it should now appear with your bundle invoice number.

Thanks for updating your review once you get it working.
 
Fantastic!!!! Let me check when I get come.

Very excited.

The side effect here was that I learned how to build my own AI from scratch and how to create behaviours in the BD. So really I needed these skills anyway -- just didn't want them yet
 
Oh I see. Yes I'm not sure where that subsequent order or invoice number would be now. I think back then I did not understand these IDs were critically important. Thanks for back propagating the Integrations in the DB
 
GOT IT RUNNING!

Fantastic. I think I have everything (UCC, UIS, BD, BD-Movement, Deathmatch AI) all connected -- or close. If I am missing any other files I will let you know.

AI is pretty good. I could really only manage to kill 1 or 2 before getting killed. Excellent starting point. Since I have started writing my own AI-BD from scratch, and am seeing how much work it is, I am in a place to appreciate how amazing the DM-AI package is. Good stuff.

I also really appreciate the software modularity, and I look forward to customizing everything.

Aside: do you have a wiki or a mechanism to organize user generated docs? If so I would likely contribute, as I generally keep notes about how things work for my future self. Thanks!
 
Top