syntax = "proto3"; option csharp_namespace = "Unity.MLAgents.CommunicatorObjects"; package communicator_objects; enum CompressionTypeProto { NONE = 0; PNG = 1; } enum ObservationTypeProto { DEFAULT = 0; GOAL_SIGNAL = 1; reserved 2; // Reserved for potential "reward" type reserved 3; // Reserved for potential "message" type } message ObservationProto { message FloatData { repeated float data = 1; } repeated int32 shape = 1; CompressionTypeProto compression_type = 2; oneof observation_data { bytes compressed_data = 3; FloatData float_data = 4; } repeated int32 compressed_channel_mapping = 5; repeated int32 dimension_properties = 6; ObservationTypeProto observation_type = 7; // Optional name of the observation. // This will be set to the ISensor name when writing, // and read into the ObservationSpec in the low-level API string name = 8; }