无法在Unity3d中创建AmazonGameLiftClient

时间:2018-11-22 13:29:50

标签: amazon-web-services unity3d aws-sdk aws-sdk-net amazon-gamelift

我使用以下代码在Unity3d中创建GameClient:

AmazonGameLiftClient client = 
        new AmazonGameLiftClient("accessKeyId",
                                 "accessKey",
                                  RegionEndpoint.CNNorth1);

以上代码是Awake()的第一行,没有其他前导代码。

我遇到以下错误:

NullReferenceException: Object reference not set to an instance of an object
Amazon.CSMSection.get_CSMEnabled ()
Amazon.Util.CSMConfig.Configure (Amazon.CSMSection section)
Amazon.Util.Internal.RootConfig..ctor ()
Amazon.AWSConfigs..cctor ()
Rethrow as TypeInitializationException: An exception was thrown by the type initializer for Amazon.AWSConfigs
Amazon.Runtime.ClientConfig..ctor ()
Amazon.GameLift.AmazonGameLiftConfig..ctor ()
Amazon.GameLift.AmazonGameLiftClient..ctor (System.String awsAccessKeyId, System.String awsSecretAccessKey, Amazon.RegionEndpoint region)

我有什么事要做吗? 我认为根本原因是我没有将app.config放在正确的位置。 因此,AWS开发工具包无法正确初始化,但是我没有找到任何将Unity3d用作Amazon GameLift客户端的教程:(

我的环境:

  • 操作系统:Mac OS X 10.14.1
  • Unity3d:2018.2.12f1
  • AWS SDK核心:3.3.29.10(.net35)
  • AWS SDK GameLift:3.3.12.29(.net35)

更新:    AWS开发工具包依赖于System.ConfigurationManager,这在Unity3d项目中似乎不可用。看来是NullReferenceException的根本原因。

1 个答案:

答案 0 :(得分:1)

请参阅此answer,它可以完全解决此问题。