Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix reflection issues introduced by Unity 2019.1.0f2 (Issue #1286) #1295

Closed
wants to merge 1 commit into from

Conversation

daltonmachado
Copy link

Description

Fixed the LINQ queries which stopped working after changes made to AndroidJavaObject in Unity 2019.1.0f2. See #1286 for more details.

Motivation and Context

See #1286

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • My code follows the code style of this project
  • My change requires a change to the documentation
  • I have updated the documentation accordingly
  • I have read the README document
  • I have added tests to cover my changes
  • All new and existing tests passed

License

  • I confirm that this pull request can be released under the Apache 2 license

@lexmakali
Copy link

@sstevenkang Can you also take a look at it and merge appropriately?
Thank you @daltonmachado for the root-cause and fix. Your contribution is much appreciated!

@Roiw
Copy link

Roiw commented May 24, 2019

Thank you! I just got @daltonmachado code and generated a new DLL and it worked! Thank you so much for your work @daltonmachado (obrigado)

@Squallium
Copy link

Thank you! I just want to know if there is an approx date of release this fix for Unity.

Greetings!

@Squallium
Copy link

Squallium commented Jul 2, 2019

Hi again, @daltonmachado & @Roiw Is there any manual or instructions in order to generate the new DLL until this pull request been merged and new version been released?

@daltonmachado
Copy link
Author

You just need to replace the code in sdk/src/Core/Amazon.Util/Internal/_unity/AndroidInterop.cs with my version of that file and then build the AWSSDK.Core project. After that you can replace the AWSSDK.Core.dll in your Unity project for the one you just built and that's it.

In my issue report I mentioned that I built another DLL for the service I was using (Lambda), but then I realized only the AWSSDK.Core.dll needs to be rebuilt.

@Squallium you unassigned Steven from the merge process and I don't know who is responsible for the merge now, it's been almost two months since my commit. @kvasukib do you know when this commit will be merged?

@Squallium
Copy link

Hi @daltonmachado thank you very much for your answer, I'll try tomorrow morning. I don't know how I unassigned Steven, I thought I wasn't allow to assigned/unassigned anybody because I don't belong to the project or the organization. I hope the maintainers can fixed my mistake. Sorry.

@eduardocoelho
Copy link

Hi guys. I'm facing the same issue here.
I tried to clone and build the SDK myself as described by @daltonmachado here, but without success.

An official merge/fix for Unity would be much appreciated. I pay hundreds of dollars/month to use S3 for the requests performed by my game, and I'm waiting for this fix to release the new version of my game built with Unity 2019.1.8f1.

Thanks

@eduardocoelho
Copy link

Thank you! I just got @daltonmachado code and generated a new DLL and it worked! Thank you so much for your work @daltonmachado (obrigado)

Hi, @Roiw . If possible, could you provide more details on how to generate a new DLL? I have Visual Studio Community installed here on my Mac computer, but I'm new to the C#/Visual Studio world.

@Roiw
Copy link

Roiw commented Jul 3, 2019

Hi guys,
To generate a DLL, simply download the project from GIT, add Dalton's modifications and press 'Build Solution' on Visual Studio. Once completed the DLL should be created on the project's build folder, that usually is: [PathToSolution]\Debug or Release.

I am linking below my DLL in case you guys want to use it: DLL

@Squallium
Copy link

Squallium commented Jul 4, 2019

Hi again!

Works perfectly, we rebuild just the core DLL and our Unity plugin/game got back to life. Thank you very much for your help. @eduardocoelho we built the DLL in Windows with Visual Studio 2017, looks like in Mac it's not possible.

Greetings!

@eduardocoelho
Copy link

eduardocoelho commented Jul 6, 2019

Glad to know your game got back to life @Squallium .
We'll keep waiting for the AWS team to provide a more streamlined way to integrate their SDK into our Unity games (I'm considering migrating to Google Firebase).

Thanks so much for providing your DLL @Roiw. I downloaded and integrated it into my game, rebuilt and tested on my Android device. The AWS S3 calls are now working properly.

I have one question though, consider the contents of the Assets/AWSSDK/ (.meta files omitted):

Assets/AWSSDK/
├── AWSSDK.Core.dll
├── AWSSDK.Core.dll.mdb
├── AWSSDK.Core.pdb

Can I safely use your AWSSDK.Core.dll, and keep the old AWSSDK.Core.dll.mdb, AWSSDK.Core.pdb files?

@miroki123
Copy link

Hello is there anything I have to do to build the AWSSDK.Core.dll? I've tried everything, it won't build the DLL no matter what. Maybe I need a specific extension in my visual studio to be able to build this DLL?

@sjklevine
Copy link

@eduardocoelho You've probably realized this by now, but for posterity, yes, only the Core.dll needs to be replaced. That other stuff can just stay how it is.

@miroki123 I struggled with this too, and ultimately only solved it by downloading both the latest Microsoft .NET stuff ("Build Tools for Visual Studio", which fortunately does not actually include Visual Studio - download here) and updating my IDE of choice (Rider), to support C# 6. I also had to use the NuGet package manager to grab a version of UnityEngine.dll. You're probably better off just downloading @Roiw 's uploaded .dll for now, though.

DazzlePanu added a commit to dazzlerocks/aws-sdk-net that referenced this pull request Sep 12, 2019
Decavoid pushed a commit to Decavoid/aws-sdk-net that referenced this pull request Sep 20, 2019
@sampaiodias
Copy link

sampaiodias commented Sep 20, 2019

The DLL provided by @Roiw doesn't work for the current SDK. As I was unable to build the DLL file from the aws-sdk-net project, could somebody please provide a version of the DLL that works with the current SDK? A zip file with all DLL files that work with the DLL provided also solves the problem.

image

a-leontiev added a commit to a-leontiev/aws-sdk-net that referenced this pull request Feb 5, 2020
a-leontiev added a commit to a-leontiev/aws-sdk-net that referenced this pull request Feb 5, 2020
@klaytaybai
Copy link
Contributor

We are deprecating support for the AWS SDK for Unity. We are recommending that Unity users instead target .NET Standard 2.0 and use the provided dlls, which can be found in this migration article (more info here). Directly targeting .NET Standard 2.0 with the AWS SDK for .NET binaries will let Unity users use all AWS services.

We have no plans to accept further pull requests for Unity. If you wish, you may post your pull request to https://github.com/aws/aws-sdk-unity-net.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants