agones icon indicating copy to clipboard operation
agones copied to clipboard

Unity CountsAndLists SDK implementation

Open igooch opened this issue 1 year ago • 1 comments

Arbitrary Counters and Lists for GameServers, SDKs and Allocation #2716 has been released in Alpha, and is looking for a contributor with Unity experience to implement the Unity SDK. The SDK methods to implement are listed in #2716, and have been implemented in Go https://github.com/googleforgames/agones/blob/main/sdks/go/alpha.go:

  • func (a *Alpha) GetCounterCount(key string) (int64, error)
  • func (a *Alpha) IncrementCounter(key string, amount int64) (error)
  • func (a *Alpha) DecrementCounter(key string, amount int64) (error)
  • func (a *Alpha) SetCounterCount(key string, amount int64) (error)
  • func (a *Alpha) GetCounterCapacity(key string) (int64, error)
  • func (a *Alpha) SetCounterCapacity(key string, amount int64) (error)
  • func (a *Alpha) GetListCapacity(key string) (int64, error)
  • func (a *Alpha) SetListCapacity(key string, amount int64) (error)
  • func (a *Alpha) ListContains(key, value string) (bool, error)
  • func (a *Alpha) GetListLength(key string) (int, error)
  • func (a *Alpha) GetListValues(key string) ([]string, error)
  • func (a *Alpha) AppendListValue(key, value string) (error)
  • func (a *Alpha) DeleteListValue(key, value string) (error)

The Unity SDK should be implemented in the https://github.com/googleforgames/agones/tree/main/sdks/unity directory.

The Go proto is https://github.com/googleforgames/agones/blob/main/proto/sdk/alpha/alpha.proto. Note that the proto methods do not exactly match the above listed SDK methods. This is due to the difference between the design in #2716 and the Google AIP https://google.aip.dev/general guidance that the proto follows as closely as possible.

Due to licensing issues we don’t have a way to do unit or conformance testing for Unity as part of the CI/CD pipeline. Please make sure that this SDK is as well tested as possible.

igooch avatar Feb 13 '24 21:02 igooch

@MaxHayman @kingshijie we're looking for contributors with Unity experience if you or someone on your teams are able to take this on.

igooch avatar Apr 01 '24 23:04 igooch