spatialos / gdk-for-unity

SpatialOS GDK for Unity
https://gdk.improbable.io/spatialos-gdk-unity
MIT License
355 stars 77 forks source link

InvalidCastException with Coordinates field in User Defined Type #1505

Open marianna-kon opened 3 years ago

marianna-kon commented 3 years ago

We are accepting issues and we want your feedback.


Description

Describe your issue. When I try to define a component and a type with a field of type Coordinates, I am able to generate the code just fine and no errors in the Unity console. But as soon as the project refreshes (by editing a script or playing the scene), in the unity console I get the error:

InvalidCastException: Specified cast is not valid. Improbable.Gdk.Debug.MonoBehaviourInspector.OnEnable () (at Library/PackageCache/io.improbable.gdk.debug@0.4.0/MonoBehaviourInspector.cs:46)

I am able to play the scene just fine and everything works as expected.

Schema file for reference:

package player;

import "improbable/gdk/core/common.schema";
import "improbable/standard_library.schema";

type ViveTransform
{
    improbable.Coordinates position = 1;
    improbable.Coordinates rotation = 2;
}
component PlayerViveTransform 
{
    id = 22003;
    ViveTransform head = 1;
    ViveTransform left_controller = 2;
    ViveTransform right_controller =3;
}

Steps to reproduce

  1. Create a schema file and define a type that has a field of type Coordinates
  2. Generate the code
  3. Modify any script or play the scene so that the project reloads

Environment

SpatialOS SDK version for project 'unity_gdk': 14.7.0. 'spatial' command-line tool version: 20210118.102041.1cea892dd1.

Unity Version 2020.1.2