Errors on update to 3.2.4.1 via Asset Store:'type or namespace name `RVO' could not be found'

Hey everyone. I’m a user of previous pro versions and am attempting to update to the most recent version of 3.2.4.1 via the asset store. Everything seems to import fine but I receive this error from the console:

“Assets/Plugins/rvolib/extras/CubeObstacle.cs(30,22): error CS0246: The type or namespace name `RVO’ could not be found. Are you missing a using directive or an assembly reference?”

I’ve repeated this several times on different project sandboxes and have even started from a completely empty project to be met with the same results. Something missing from 3.2.4.1 in the asset store? Something else? Any ideas?

Many thanks.

This script “Assets/Plugins/rvolib/extras/CubeObstacle.cs” is used by the blue cubes obstacles in the “Example11_RVO” (local avoidance example).

The file provided with the Asset Store version seems to be wrong (RVO.Vector2 and RVO.Simulator).

But this file is missing in the 3.2.4 version available from this website (error at runtime). The “Dev” version is like the official “3.2.4”, the “CubeObstacle.cs” is missing (error at runtime on the blue cubes : Missing Mono Script).

This script is only used in the example, so you can probably delete it until the next release.

I’m getting this error. Is there a fix for it?

You can actually delete this script file (CubeObstacle.cs) and remove it from the blue cubes obstacles in the “Example11_RVO”. Even if this script can be corrected, it is not needed by the example because the RVONavmesh script already build RVOObstacle at the edges of the navmesh.

But in case of, here is my own corrected version (provided without any warranty ;)):
`
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using Pathfinding;
using Pathfinding.RVO;

public class CubeObstacle : RVOObstacle
{
/** Vertical offset for the RVOObstacle because the Cube can be partially under the ground. */
public float offsetY = 0.1f;

protected override bool StaticObstacle { get { return false; } }
protected override bool ExecuteInEditor { get { return true; } }
protected override bool LocalCoordinates { get { return true; } }

//If UNITY_EDITOR to save a few bytes, these are only needed in the editor

#if UNITY_EDITOR
private Vector3 _extents;
private float _offsetY;
#endif

protected override bool AreGizmosDirty()
{

#if UNITY_EDITOR
BoxCollider cc = collider as BoxCollider;
bool ret = (_extents != cc.extents) || (_offsetY != offsetY);
_extents = cc.extents;
_offsetY = offsetY;
return ret;
#else
return false;
#endif
}

protected override void CreateObstacles()
{
    BoxCollider cc = collider as BoxCollider;

    offsetY = Mathf.Clamp(offsetY, 0, cc.extents.y * 2);
    Vector3[] verts = new Vector3[]
    {
        new Vector3(cc.extents.x, -cc.extents.y + offsetY, -cc.extents.z),
        new Vector3(cc.extents.x, -cc.extents.y + offsetY, cc.extents.z),
        new Vector3(-cc.extents.x, -cc.extents.y + offsetY, cc.extents.z),
        new Vector3(-cc.extents.x, -cc.extents.y + offsetY, -cc.extents.z)
    };

    AddObstacle(verts, (cc.extents.y * 2) - offsetY);
}

}
`

Hi,
Thanks. This is really strange though.
I just moved the offending file and directory from assets/plugins to the plugins directory in the A* folder and the error disappeared.

But now I’m getting a bunch of errors on AIFleePath.cs, like
Assets/AstarPathfindingProject/Core/AI/AIFleePath.cs(205,19): error CS1061: Type Pathfinding.FleePath' does not contain a definition forfleeStrength’ and no extension method fleeStrength' of typePathfinding.FleePath’ could be found (are you missing a using directive or an assembly reference?)

Assets/AstarPathfindingProject/Core/AI/AIFleePath.cs(238,40): error CS1061: Type Pathfinding.Path' does not contain a definition forstartPoint’ and no extension method startPoint' of typePathfinding.Path’ could be found (are you missing a using directive or an assembly reference?)

Assets/AstarPathfindingProject/Core/AI/AIFleePath.cs(311,80): error CS1061: Type System.Collections.Generic.List<UnityEngine.Vector3>' does not contain a definition forLength’ and no extension method Length' of typeSystem.Collections.Generic.List<UnityEngine.Vector3>’ could be found (are you missing a using directive or an assembly reference?)

Assets/AstarPathfindingProject/Core/AI/AIFleePath.cs(313,27): error CS0029: Cannot implicitly convert type System.Collections.Generic.List<UnityEngine.Vector3>' toUnityEngine.Vector3[]’

Has he changed something else in this release?
or?

Scratching my head. Should be a simple update not wreck my project.

ah…I see…there is no AIFleePath or AIRandomPath in latest version.
I don’t think I created these…were they in a previous version?

I deleted them, but now getting errors on CleanupPath65K.cs in Pathfinders

It would be really helpful if there was an upgrade guide as to what is refactored or changed!

Hi

AIFleePaht or AIRandomPath have never been part of the project if I remember correctly. The easiest way to upgrade is simply to delete the whole AstarPathfindingProject folder and then import the newest package.

Also, there is an upgrade guide for large syntax changes for some versions here: http://arongranberg.com/astar/docs/upgrading.php (it looks horrible online though, just copied from a text file with a different format).
Also the changelog lists all (read most) changes: http://arongranberg.com/astar/docs/changelog.php