I'll send you a PM with the fix to be sure.I haven't got the editor open in that case, so that was the difference. I'm glad you've fixed it.
In that case instead of updating the variable values on the Behavior tree component you would update them on your own component that sets the value at runtime. This way you can configure the variables based on the position and still use the prefab system without any conflicts.I understand that I could set the variables at runtime but if I have an AI with defaults, I want to configure the variables based on the position where I put the AI in. Also, for example, the waypoints are needed to be set for every AI.
The problem with that solution is that the override variable is still serialized within the JSONSerialization field so it will be overridden by the prefab instance. The true solution is to have the fields separated out when Unity serializes so it can recognize each variable value within the prefab system.but I don't force this solution because I haven't tried it.