Skip to content

Unreal CountsAndLists SDK implementation #3648

@igooch

Description

@igooch

Arbitrary Counters and Lists for GameServers, SDKs and Allocation #2716 has been released in Alpha, and is looking for a contributor with Unreal experience to implement the Unreal 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 Unreal SDK should be implemented in the https://github.com/googleforgames/agones/tree/main/sdks/unreal/Agones 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 Unreal as part of the CI/CD pipeline. Please make sure that this SDK is as well tested as possible.

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedWe would love help on these issues. Please come help us!kind/featureNew features for Agones

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions