[BUG] Cannot create external behaviours when using assembly definitions

Daniel Everland

New member
If your Behavior Designer folder lies within an assembly definition you've created, you'll be unable to create any external behaviors. To fix this Behavior Designer has to be setup properly with its own assembly definitions, which it is not when using 1.6.1 from the asset store. I have confirmed, though, that this is not a new issue. I could reproduce in my repo since February 8th. I'm currently using 2018.3.6f1

Steps to Reproduce
1. Create new project
2. Import Behavior Designer 1.6.1 from Asset Store
3. Create an assembly definition in root folder
4. Create external behavior using Assets>Create>Behavior Designer>External Behavior Tre
> A nullref will be thrown

Code:
NullReferenceException
BehaviorDesigner.Editor.AssetCreator.CreateAsset (System.Type type, System.String name) (at <6224ec08a63b4190a0704159812b1ad4>:0)
BehaviorDesigner.Editor.AssetCreationMenus.CreateExternalBehaviorTree () (at <6224ec08a63b4190a0704159812b1ad4>:0)

 
Assembly definitions do not have very good support for DLLs so that's why you are running into this issue. If you want to place Behavior Designer within an assembly definition you'll need to ensure you have the runtime source imported.
 
I'm not sure if I'm importing the runtime source correctly, I end up getting compile errors. None of the editor scripts can reference the runtime since it's in the assembly definition that's included in the package.

How I import the runtime source
1. Import Behavior Designer 1.6.1 from Asset Store
2. Delete the runtime and editor assemblies as per the instructions on this page
3. Import the 2018.3 runtime source
> You'll now get 10 compile errors from the few scripts in the editor folder
 
Top