ChainSafe / web3.unity

🕹 Unity SDK for building games that interact with blockchains.
GNU Lesser General Public License v3.0
909 stars 235 forks source link

Install via Package Manager With Open UPM not working correctly in v2021 #817

Closed juans-chainsafe closed 7 months ago

juans-chainsafe commented 8 months ago

Describe the bug After you follow these steps https://docs.gaming.chainsafe.io/current/getting-started#install-via-package-manager-with-open-upm you get a lot of console errors related to Nethereum and can be confusing for the developer because is fixed if you restart the Unity project, maybe we need to clarify this in the docs for 2021 Unity version.

Expected behavior A clear and concise description of what you expected to happen.

Console errors

Assembly 'Library/ScriptAssemblies/chainsafe.web3-unity.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.Contracts'.

Assembly 'Library/ScriptAssemblies/chainsafe.web3-unity.Editor.dll' will not be loaded due to errors:
Reference has errors 'chainsafe.web3-unity'.

Assembly 'Library/ScriptAssemblies/Samples.dll' will not be loaded due to errors:
Reference has errors 'chainsafe.web3-unity'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Merkle.Patricia.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.Hex'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.RLP.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.Hex'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Siwe.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.Contracts'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.WalletConnect.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.Hex'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.RPC'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Util.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.Hex'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.ABI.dll' will not be loaded due to errors:
Nethereum.ABI references strong named Newtonsoft.Json Assembly references: 11.0.0.0 Found in project: 13.0.0.0.
Assembly Version Validation can be disabled in Player Settings "Assembly Version Validation"

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Metamask.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.JsonRpc.Client'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Web3.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.JsonRpc.Client'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Siwe.Core.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.Util'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.Client.dll' will not be loaded due to errors:
Nethereum.JsonRpc.Client references strong named Newtonsoft.Json Assembly references: 11.0.0.0 Found in project: 13.0.0.0.
Assembly Version Validation can be disabled in Player Settings "Assembly Version Validation"

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.UI.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.Web3'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Unity.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.RPC'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.dll' will not be loaded due to errors:
Reference has errors 'ChainSafe.Gaming'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Accounts.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.RPC'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.Unity.dll' will not be loaded due to errors:
Reference has errors 'ChainSafe.Gaming.InProcessTransactionExecutor'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Contracts.dll' will not be loaded due to errors:
Nethereum.Contracts references strong named Newtonsoft.Json Assembly references: 11.0.0.0 Found in project: 13.0.0.0.
Assembly Version Validation can be disabled in Player Settings "Assembly Version Validation"

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Web3Wallet.dll' will not be loaded due to errors:
Reference has errors 'WalletConnectSharp.Auth'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Auth.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.Signer'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Model.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.RLP'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.MetaMask.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.RPC'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Debugging.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.ABI'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.RPC.dll' will not be loaded due to errors:
Nethereum.RPC references strong named Newtonsoft.Json Assembly references: 11.0.0.0 Found in project: 13.0.0.0.
Assembly Version Validation can be disabled in Player Settings "Assembly Version Validation"

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.ABI'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Gelato.dll' will not be loaded due to errors:
Reference has errors 'ChainSafe.Gaming'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.IpcClient.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.JsonRpc.Client'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.KeyStore.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.Hex'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.BlockchainProcessing.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.RPC'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/NBitcoin.dll' will not be loaded due to errors:
NBitcoin references strong named Newtonsoft.Json Assembly references: 11.0.0.0 Found in project: 13.0.0.0.
Assembly Version Validation can be disabled in Player Settings "Assembly Version Validation"

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Hex.dll' will not be loaded due to errors:
Nethereum.Hex references strong named Newtonsoft.Json Assembly references: 11.0.0.0 Found in project: 13.0.0.0.
Assembly Version Validation can be disabled in Player Settings "Assembly Version Validation"

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessSigner.dll' will not be loaded due to errors:
Reference has errors 'ChainSafe.Gaming'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Merkle.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.ABI'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Signer.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.Model'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Signer.EIP712.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.Signer'.

Assembly 'Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.RpcClient.dll' will not be loaded due to errors:
Reference has errors 'Nethereum.JsonRpc.Client'.

Screenshots/Video

Screenshot 2024-01-05 at 10 24 55

Desktop (please complete the following information):

Additional context To fix this, you need to restart the Unity project.

kantagara commented 8 months ago

@juans-chainsafe we cannot fix that because we're dependent on Nethereum library, and Nethereum themselves don't want to fix that issue.

juans-chainsafe commented 8 months ago

@juans-chainsafe we cannot fix that because we're dependent on Nethereum library, and Nethereum themselves don't want to fix that issue.

Makes sense, we can add a note here https://docs.gaming.chainsafe.io/current/getting-started#install-via-package-manager-with-open-upm to let the user know that in 2021 this will happen and they need to restart the Unity project cc @sneakzttv

sneakzttv commented 7 months ago

This is fixed via restart, will add to the docs later and close. Nothing else we can do as it's a 3rd party issue.