Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice

OPC UA .NET SDK code don't run in Unity player and windows build

Discussion in 'Scripting' started by brunoleos, Sep 30, 2016.

  1. brunoleos

    brunoleos

    Joined:
    May 14, 2014
    Posts:
    30
    Hi all,

    I'm trying to run this code in Unity, based in this thread, adapted for Unity. The code works if compiled in Visual Studio (It can communicate to an OPC server correctly), but in Unity I get this exception when running it:

    The script adapted to Unity is:

    Code (CSharp):
    1.  
    2. public class OpcClient : MonoBehaviour {
    3.     private string log;
    4.  
    5.     private void Start() {
    6.         Log("Step 1 - Create a config.");
    7.         var config = new ApplicationConfiguration() {
    8.             ApplicationName = "test-opc",
    9.             ApplicationType = ApplicationType.Client,
    10.             SecurityConfiguration = new SecurityConfiguration { ApplicationCertificate = new CertificateIdentifier { StoreType = @"Windows", StorePath = @"CurrentUser\My", SubjectName = Utils.Format(@"CN={0}, DC={1}", "OpcClient", "localhost") }, TrustedPeerCertificates = new CertificateTrustList { StoreType = @"Windows", StorePath = @"CurrentUser\TrustedPeople", }, NonceLength = 32, AutoAcceptUntrustedCertificates = true },
    11.             TransportConfigurations = new TransportConfigurationCollection(),
    12.             TransportQuotas = new TransportQuotas { OperationTimeout = 15000 },
    13.             ClientConfiguration = new ClientConfiguration { DefaultSessionTimeout = 60000 }
    14.         };
    15.         config.Validate(ApplicationType.Client);
    16.         if (config.SecurityConfiguration.AutoAcceptUntrustedCertificates) {
    17.             config.CertificateValidator.CertificateValidation += (s, e) => { e.Accept = (e.Error.StatusCode == StatusCodes.BadCertificateUntrusted); };
    18.         }
    19.  
    20.         Log("Step 2 - Create a session with your server.");
    21.         using (var session = Session.Create(config, new ConfiguredEndpoint(null, new EndpointDescription("opc.tcp://localhost:4841")), true, "", 60000, null, null)) {
    22.             Log("Step 3 - Browse the server namespace.");
    23.             ReferenceDescriptionCollection refs;
    24.             byte[] cp;
    25.             session.Browse(null, null, ObjectIds.ObjectsFolder, 0u, BrowseDirection.Forward, ReferenceTypeIds.HierarchicalReferences, true, (uint)NodeClass.Variable | (uint)NodeClass.Object | (uint)NodeClass.Method, out cp, out refs);
    26.             Log("DisplayName: BrowseName, NodeClass");
    27.             foreach (var rd in refs) {
    28.                 Log(rd.DisplayName + ": " + rd.BrowseName + ", " + rd.NodeClass);
    29.                 ReferenceDescriptionCollection nextRefs;
    30.                 byte[] nextCp;
    31.                 session.Browse(null, null, ExpandedNodeId.ToNodeId(rd.NodeId, session.NamespaceUris), 0u, BrowseDirection.Forward, ReferenceTypeIds.HierarchicalReferences, true, (uint)NodeClass.Variable | (uint)NodeClass.Object | (uint)NodeClass.Method, out nextCp, out nextRefs);
    32.                 foreach (var nextRd in nextRefs) {
    33.                     Log("+ " + nextRd.DisplayName + ": " + nextRd.BrowseName + ", " + nextRd.NodeClass);
    34.                 }
    35.             }
    36.  
    37.             Log("Step 4 - Create a subscription. Set a faster publishing interval if you wish.");
    38.             var subscription = new Subscription(session.DefaultSubscription) { PublishingInterval = 1000 };
    39.  
    40.             Log("Step 5 - Add a list of items you wish to monitor to the subscription.");
    41.             var list = new List<MonitoredItem> {
    42.                 new MonitoredItem(subscription.DefaultItem) { DisplayName = "aaatime", StartNodeId = "i=10004" } };
    43.             list.ForEach(i => i.Notification += OnNotification);
    44.             subscription.AddItems(list);
    45.  
    46.             Log("Step 6 - Add the subscription to the session.");
    47.             session.AddSubscription(subscription);
    48.             subscription.Create();
    49.  
    50.             Log("Finished client initialization");
    51.         }
    52.     }
    53.  
    54.     private static void OnNotification(MonitoredItem item, MonitoredItemNotificationEventArgs e) {
    55.         foreach (var value in item.DequeueValues()) {
    56.             Console.WriteLine("{0}: {1}, {2}, {3}", item.DisplayName, value.Value, value.SourceTimestamp, value.StatusCode);
    57.         }
    58.     }
    59. }
    60.  
     
  2. AnthonyAckerman

    AnthonyAckerman

    Joined:
    Feb 20, 2015
    Posts:
    16
    I have the exact same issue. Did you by any chance managed to fix this problem? I tried everything to my knowledge with certificates.
    I'm using the Unity 5.5 beta with the 4.6 .NET framework.
     
    Last edited: Nov 18, 2016
  3. brunoleos

    brunoleos

    Joined:
    May 14, 2014
    Posts:
    30
    Hi, AKiSeY,

    I've returned to that code now, and found that the only change I did was at the application configuration:

    Code (CSharp):
    1. var config = new ApplicationConfiguration() {
    2.     ApplicationName = "test-opc",
    3.     ApplicationType = ApplicationType.Client,
    4.     SecurityConfiguration = new SecurityConfiguration { ApplicationCertificate = new CertificateIdentifier() },//  { StoreType = @"Windows", StorePath = @"CurrentUser\My", SubjectName = Utils.Format(@"CN={0}, DC={1}", "OpcClient", "localhost") }, TrustedPeerCertificates = new CertificateTrustList { StoreType = @"Windows", StorePath = @"CurrentUser\TrustedPeople", }, NonceLength = 32, AutoAcceptUntrustedCertificates = true },
    5.     TransportConfigurations = new TransportConfigurationCollection(),
    6.     TransportQuotas = new TransportQuotas { OperationTimeout = 15000 },
    7.     ClientConfiguration = new ClientConfiguration { DefaultSessionTimeout = 60000 }
    8. };
    Nevertheless, I think the major problem was in the library version. Unity compiles code using .NET 3.5, so you should be using version 1.02.334.6, available as Visual Studio source-code project, at https://opcfoundation.org/developer...chitecture/net-stack-and-sample-applications/ at “Archives” tab.

    I've tested at Unity 5.4.1.
     
  4. madv113

    madv113

    Joined:
    Nov 12, 2016
    Posts:
    3
    Hi,
    Can you tell me if the above code actually connects to the opcserver? I tried the code with unity 541 express & 543 express, opc runtime 1.02.334.6 .netfm3.5. Both giving me the exception 'error establishing a connection'. No compiler or other errors. When I put the opc client code in a .netfm3.5 console application its works fine. Why won't the exact same code with the same .netfm3.5 runtime not connect from unity?
     
  5. AnthonyAckerman

    AnthonyAckerman

    Joined:
    Feb 20, 2015
    Posts:
    16
    Hi Brunoleos,

    Thank you for the code sample, it helped me to get past the certificate error. Unfortunately I am now stuck a few line below with the folowing error: ServiceResultException: Error establishing a connection.
    It happens when I call this line: using (Session session = Session.Create(config, new ConfiguredEndpoint(null, new EndpointDescription(TextLines[0])), true, "", 60000, null, null))
    I use KepwareEX for the server. Maybe you got stuck here aswell at any point?

    Did you manage to make a connection correctly and exchange the data from the OPC server to Unity?
     
    Last edited: Nov 21, 2016
  6. AnthonyAckerman

    AnthonyAckerman

    Joined:
    Feb 20, 2015
    Posts:
    16
    I can't get past this point either. I hope someone has an idea how to fix this.
     
  7. brunoleos

    brunoleos

    Joined:
    May 14, 2014
    Posts:
    30
    I had no problems at the session creation. Could it be a problem with your OPC server? Maybe try running the code from the Microsoft compiler, as the implementation is different from Unity's.
     
  8. AnthonyAckerman

    AnthonyAckerman

    Joined:
    Feb 20, 2015
    Posts:
    16
    I downloaded the archive you mentioned in you reply. I was wondering which files you copied to your Unity project so that you can use the namespaces required to make the connection work. for example Opc.ua.Client
    The client gave me those as dll files, but compiled in .NET 4.5
    I hope you can tell me, that would be of great help.
    Thanks!
     
  9. brunoleos

    brunoleos

    Joined:
    May 14, 2014
    Posts:
    30
    @AKiSeY,

    I have Opc.Ua.Core.dll and Opc.Ua.Client.dll in my Plugins folder.
     
  10. madv113

    madv113

    Joined:
    Nov 12, 2016
    Posts:
    3
    You should use OPCfoundation version 1.02.334.6. This version is built on dotnet 3.5. It compiles fine with Unity. Unfortunatly this version starts a connect attemp but fails with the exception 'error establishing a connection'.When using the same code in a console app outside of unity the connection with the samer serer works fine. There is a block within unity. Should the code be called from elsewhere then under the maincamera?
     
  11. brunoleos

    brunoleos

    Joined:
    May 14, 2014
    Posts:
    30
    I call the code from Start() of my MonoBehaviour, attached to a empty GameObject of the scene. At the Update() I handle a key event and send something to the server. It works.

    When my server is disconnected, I also receive "ServiceResultException: Error establishing a connection." at Unity.

    I would suggest to investigate the server behaviour, but as your code runs outside Unity, then I don't know.
     
  12. madv113

    madv113

    Joined:
    Nov 12, 2016
    Posts:
    3
    I made a Empty gameobject and posted the following code in it. The result is 'error establishing a connection'. From a wireshark log I see that the client (Unity) stops connecting. Cant tell why. The very same code in a console app works fine. this is the code;

    using UnityEngine;

    using System.Collections;

    using Opc.Ua;

    using Opc.Ua.Client;

    using System;

    using System.Threading;

    publicclassOpcClient : MonoBehaviour

    {



    ApplicationConfiguration _configuration;

    // OPC UA session is there when a connection is active

    Session _session;

    privatevoidStart()

    {

    _configuration = newApplicationConfiguration()

    {

    ApplicationName = "UnityOpcClient",

    ApplicationType = ApplicationType.Client,

    SecurityConfiguration = newSecurityConfiguration { ApplicationCertificate = newCertificateIdentifier() },// { StoreType = @"Windows", StorePath = @"CurrentUser\My", SubjectName = Utils.Format(@"CN={0}, DC={1}", "OpcClient", "localhost") }, TrustedPeerCertificates = new CertificateTrustList { StoreType = @"Windows", StorePath = @"CurrentUser\TrustedPeople", }, NonceLength = 32, AutoAcceptUntrustedCertificates = true },

    TransportConfigurations = newTransportConfigurationCollection(),

    TransportQuotas = newTransportQuotas { OperationTimeout = 15000 },

    ClientConfiguration = newClientConfiguration { DefaultSessionTimeout = 60000 }

    };

    _configuration.Validate(ApplicationType.Client);

    _configuration.SecurityConfiguration.AutoAcceptUntrustedCertificates = true;

    if (_configuration.SecurityConfiguration.AutoAcceptUntrustedCertificates)

    {

    _configuration.CertificateValidator.CertificateValidation += (s, e) => { e.Accept = (e.Error.StatusCode == StatusCodes.BadCertificateUntrusted); };

    }

    try

    {

    _session = Session.Create(_configuration, newConfiguredEndpoint(null, newEndpointDescription("opc.tcp://localhost:62541/Server")), true, "", 60000, null, null);

    }

    catch (Exception e)

    {

    Debug.Log(e.Message);

    if (e.InnerException != null)

    Debug.Log(e.InnerException.Message);

    }

    }



    // Update is called once per frame

    voidUpdate()

    {

    }

    }
     
  13. maryem281

    maryem281

    Joined:
    Mar 13, 2017
    Posts:
    6
    i have a problem using the code. 'SecurityConfiguration' does not contain a definition for 'AutoAcceptUntrustedCertificates' and no extension method 'AutoAcceptUntrustedCertificates' accepting a first argument of type 'SecurityConfiguration' could be found (are you missing a using directive or an assembly reference?) Can you help me resolving this problem Regards
     
  14. maryem281

    maryem281

    Joined:
    Mar 13, 2017
    Posts:
    6
    i have a problem using the code. 'SecurityConfiguration' does not contain a definition for 'AutoAcceptUntrustedCertificates' and no extension method 'AutoAcceptUntrustedCertificates' accepting a first argument of type 'SecurityConfiguration' could be found (are you missing a using directive or an assembly reference?) Can you help me resolving this problem Regards
     
  15. brunoleos

    brunoleos

    Joined:
    May 14, 2014
    Posts:
    30
    Check at your "usings" if you include:
    Code (CSharp):
    1. using Opc.Ua;
    2. using Opc.Ua.Client;
    Also, make sure you are using version 1.02.334.6 of OPC framework.
     
    maryem281 likes this.
  16. maryem281

    maryem281

    Joined:
    Mar 13, 2017
    Posts:
    6
    Thank you it works :) but now i have another problem , i can not establish connection between unity and the server , what should i put in Update () ? i am using the version 1.02.334.6 of OPC framework.
     
  17. maryem281

    maryem281

    Joined:
    Mar 13, 2017
    Posts:
    6
    Thank you it works :) but now i have another problem , i can not establish connection between unity and the server , what should i put in Update () ? i am using the version 1.02.334.6 of OPC framework
     
  18. brunoleos

    brunoleos

    Joined:
    May 14, 2014
    Posts:
    30
    For the connection, nothing goes at Update(). All steps are at Start().

    I got no problems establishing the connection, but other users in this thread did. They haven't reported solutions.
     
  19. maryem281

    maryem281

    Joined:
    Mar 13, 2017
    Posts:
    6
    ok :) do you only use a script C# in unity 3D ? or should i configure further informations ?
     
  20. brunoleos

    brunoleos

    Joined:
    May 14, 2014
    Posts:
    30
    That script does the connection part of OPC. You can put everything in a single script, it's gonna work.

    Make sure you also have the needed DLLs in your project.
     
  21. maryem281

    maryem281

    Joined:
    Mar 13, 2017
    Posts:
    6
    i put the Dlls Opc.Ua.Core.dll and Opc.Ua.Client.dll in library folder of the project .is that right ?
    this is a picture of the error i have
     

    Attached Files:

  22. brunoleos

    brunoleos

    Joined:
    May 14, 2014
    Posts:
    30
    The DLLs usually go to the Assets/Plugins folder.

    It seems the error you got is the same as Akinsey's. I don't know what is the cause, maybe a server side problem.
     
  23. Dloomette

    Dloomette

    Joined:
    Apr 6, 2017
    Posts:
    1
    Hi guys!
    I'm am very new to OPC Ua, and i'm trying to create an OPC Client into Unity3D, and to create a test OPC server to see if it works. Do you have some links or some steps to follow (or simple tutorials) to help me? Thank you by advance
     
  24. brunoleos

    brunoleos

    Joined:
    May 14, 2014
    Posts:
    30
    The first post in this thread is a good starting point. It links to a minimal C# sample code for an OPC UA client. I've adapted it to run inside Unity.

    You will need an OPC server to communicate to the client. It is dependent on the application.

    I've also used UaExpert, an OPC UA client, to test the communication to the server, to validate the Unity's client.
     
  25. lauchsuppe

    lauchsuppe

    Joined:
    Dec 6, 2014
    Posts:
    39
    Hey!
    I'm happy I'm not the only one trying to figure this out. This thread sounds very promising.
    I've tried to follow your steps and I've downloaded version 1.02.334.6 and built the Opc.Ua.Core.dll and Opc.Ua.Client.dll from the Solutions provided in the root Folder.
    However, if I create a new & empty unity Project (5.6) and put those .dlls into a freshly created Plugins Folder, I get this error message when trying to build the (otherwise empty) project: "ArgumentException: The Assembly System.IdentityModel is referenced by Opc.Ua.Core (...)"

    Did I miss something? Do I have to alter the solution and somehow remove the System.IdentityModel directive before Building the solution?
     
  26. brunoleos

    brunoleos

    Joined:
    May 14, 2014
    Posts:
    30
    Could you paste the full error message? I can run with Unity 5.5.2f2. Maybe you should set the API compatibility level to .NET 2.0 at Player Settings > Other settings > Optimization. This could solve the problem if System.IdentityModel is not part of the subset.
     
    lauchsuppe likes this.
  27. lauchsuppe

    lauchsuppe

    Joined:
    Dec 6, 2014
    Posts:
    39
    Thanks for your fast Response!
    Indeed, your tip made Building from unity possible! So that's cool. However, I still get a warning:

    Other than that, I'm facing the same connection issue others faced before me in this thread. Starting the Code from console works just fine, but in Unity I get this Connection error.
    Perhaps it has to do with the error/warning I receive upon Building the Project?

    If anyone has found a solution to this, I would be super happy to hear it!

    Edit: Because I'm desperate, I just tried it using Unity 5.5.2 but it didn't work regardless.
     
    Last edited: Apr 12, 2017
  28. brunoleos

    brunoleos

    Joined:
    May 14, 2014
    Posts:
    30
    I'm glad to be partially helpful, but about that error I don't know the cause.
     
  29. BooNonMooN

    BooNonMooN

    Joined:
    May 20, 2013
    Posts:
    10
    I gues noone solved this problem yet?
    I have the same problem. Connectiong from a Console Application works like a charm,
    sadly not from Unity.
    Are there any alternatives to this opc framework that work in dot net 3.5?
     
  30. lauchsuppe

    lauchsuppe

    Joined:
    Dec 6, 2014
    Posts:
    39
    Sadly, I didn't. Using opc ua.net, I created a console app to serve as a Bridge between unity and opc.
    There is another Framework called "Unified Automation" that works in .NET 3.5. However, I had similar Connection issues when I tried using it in Unity. It Looks like Unity would somehow shut down the Connection attempt.
     
  31. BooNonMooN

    BooNonMooN

    Joined:
    May 20, 2013
    Posts:
    10
    Just for your information:
    Yes this does not work out of the Editor.
    But!
    If you compile it down to UWP it works fine.
     
  32. DouweWagenaar01

    DouweWagenaar01

    Joined:
    Oct 17, 2016
    Posts:
    2



    Hello,

    i am using the similar code for Opc client and having a strange error, checked with debugging the call goes to creating session and then it gives the error. any clue why its happening ?
     
  33. DouweWagenaar01

    DouweWagenaar01

    Joined:
    Oct 17, 2016
    Posts:
    2
    i am also having the similar error of any clue ? i am using unity 2017.0.2 with .net 4.6 support.
     
  34. jdj230

    jdj230

    Joined:
    Sep 22, 2017
    Posts:
    4
    Has anyone had recent success with this? I'm trying to achieve an OPC to Unity3D connection but have come up short. Any help would be greatly appreciated
     
  35. gogo199432

    gogo199432

    Joined:
    Apr 20, 2013
    Posts:
    86
    I'm having the same 'error estabilishing connection' issue as many here. I would just like to add that on the server I get the following log when Unity tries to connect:
    Code (CSharp):
    1. OpcUa_TcpListener_ConnectionManager_GetConnectionByHandle: Connection with id 0 not usable!
    2. OpcUa_TcpListener_CloseConnection: Connection 00010000 not found.
     
  36. amesanfer

    amesanfer

    Joined:
    Mar 26, 2018
    Posts:
    1
    Has any one advanced with the conection issue?, i'm stucked on that and would appreciate any help.
     
  37. lauchsuppe

    lauchsuppe

    Joined:
    Dec 6, 2014
    Posts:
    39
    The solution I came up with back then was to create a simple c# console app that would serve as a udp bridge between Unity and OPC. I'm not sure if by now (one year later) there is a way to establish a direct connection between the two. Naturally, the bridge app does add a tiny bit of latency. But if that's not a deal breaker, I would suggest going that route.
     
    PranjalAgarwal likes this.
  38. jdj230

    jdj230

    Joined:
    Sep 22, 2017
    Posts:
    4
    @lauchsuppe I went down that path too. The issue that I found was the inability of Unity to find the necessaryassembly files from the .NET GAC. This was the limitation to every approach I tried to apply in unity. And you can't just dump the necessary .dll files in there either since the OPC Foundation components cannot operate outside of the GAC. So the only way this method could ever work is if you could point unity to the windows directory to find the appropriate assembly files.
     
  39. Jartim00

    Jartim00

    Joined:
    Oct 27, 2016
    Posts:
    1
    I had the same problem, and looked everywhere for an answer.
    I managed to get it working by also making a 'bridge' between the OPC-server and the Hololens application via an UDP connection.
     
  40. Ser_hcu

    Ser_hcu

    Joined:
    May 29, 2018
    Posts:
    1
    I have an equal code, except when creating the nodes, but even if you put yours, it does not go into OnNotification.
    Some help?
     
  41. Industry4O

    Industry4O

    Joined:
    Oct 30, 2018
    Posts:
    15
    I am creating a .cs Script in Unity and pasting the Code from the first Post:

    using Opc.Ua;
    using Opc.Ua.Client;
    using Opc.Ua.Configuration;


    Those packages are unknown. In Visual Studio I try to install the nuget
    OPCFoundation.NetStandard.Opc.Ua


    But I get this error:

    Severity    Code    Description    Project    File    Line    Suppression State
    Error Could not install package 'OPCFoundation.NetStandard.Opc.Ua 1.4.353.15'. You are trying to install this package into a project that targets '.NETFramework,Version=v3.5,Profile=Unity Full v3.5', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.


    I tried every Version available in the nuget manager. same error.

    Than I tried to download the packages from @brunoleos Link (https://opcfoundation.org/developer...chitecture/net-stack-and-sample-applications/) There you have in the nuget folder:
    Opc.Ua.nuspec
    and
    Opc.Ua.Symbols.nuspec
    those two files, which I tried to install with the dotnet CLI like this:

    dotnet add package Opc.Ua.Symbols.nuspec
    inside of my unity project (where the sln file is).

    This didn't work with the following error:

    error: Fehler beim Hinzufügen des Pakets "Opc.Ua.Symbols.nuspec" zum Projekt "C:\Users\HideThePainHarold\ims\HolographicAcademy-Holograms-101\Origami.csproj". Das Projekt bietet keine Unterstützung für das Hinzufügen von Paketverweisen über den Befehl zum Hinzufügen von Paketen.


    It is in German and says: Nice try! (or your project doesnt provide support for adding packages)

    So than I installed NuGetForUnity to install the NuGet inside of Unity. Didn't help.

    Downloaded opc.ua.netstandard.sampleapplications-20180714 and added
    -Opc.Ua.Client.dll
    -Opc.Ua.Configuration.dll
    -Opc.Ua.Core.dll
    to Unity in the Assets/Packages and also clicked on it and applied as UWP/ DotNet.

    Here I am with this... I tried so hard and got so far but in the end it doesn't even matter:

    Assets/Scripts/OPC.cs(2,7): error CS0246: The type or namespace name `Opc' could not be found. Are you missing an assembly reference?



    I just want to have a very very very simple OPC client for reading a variable from my OPC UA Node.js Server.
     
  42. Industry4O

    Industry4O

    Joined:
    Oct 30, 2018
    Posts:
    15
    OK the most errors I had, they were because of the different Versions. In Unity I had in the player settings the .Net Version 3.5; than I changed to 4.5 and had a big mess. I restarted a new Project. And solved every error, also changed the function calls to the new OPC library which is now asynchronous, except this one error:


    Assets/OPC.cs(27,20): error CS0012: The type `System.IdentityModel.Selectors.X509CertificateValidator' is defined in an assembly that is not referenced. Consider adding a reference to assembly `System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'


    27,20 is this line:
     config.CertificateValidator.CertificateValidation += (s, e) => { e.Accept = (e.Error.StatusCode == StatusCodes.BadCertificateUntrusted); };


    The error in Unity3D says
     'The type `System.IdentityModel.Selectors.X509CertificateValidator' is defined in an assembly that is not referenced.' 
    But in Visual Studio, when I do >Go to Definition F12, it jumps to
    Opc.Ua.CertificateValidator 
    ... so it is installed right and it can be found.

    I am almost there! We will do it! Thank you guys!
     
    Last edited: Oct 31, 2018
  43. ngocthelong88

    ngocthelong88

    Joined:
    Nov 13, 2018
    Posts:
    1
    Hello everyone, I'm a newbie in here. Now, I can't find the version 1.02.334.6 of OPC framework.
    Is the anyone can give 2 file: Opc.Ua.Core.dll and Opc.Ua.Client.dll in .NET 3.5?
    Thank you so much
     
  44. in2sight

    in2sight

    Joined:
    Feb 24, 2018
    Posts:
    23
    Hello, I am trying the same. Does anybody has successfull used Opc.Ua.Client.dll within Unity (without writing a bridge application)?

    Thanks
     
  45. in2sight

    in2sight

    Joined:
    Feb 24, 2018
    Posts:
    23
    Hi, we get it know running based on a commercial opc ua solution. We did not get it running based on the OPC UA Foundation framework. We are going to put our solution into the Unity Asset Store in a few weeks. It will be an optional add-on to our game4automation framework - see https://game4automation.com/
     
  46. in2sight

    in2sight

    Joined:
    Feb 24, 2018
    Posts:
    23
  47. casey945

    casey945

    Joined:
    Feb 16, 2009
    Posts:
    46
    Hi,in2sight,
    Can this work in unity 2017.4.13f1? My Hololens project was developed using Unity2017.4.13f1.
    If it works, I want to buy one.
     
  48. in2sight

    in2sight

    Joined:
    Feb 24, 2018
    Posts:
    23
    Hi currently it works only with Mona and not with ILCPP. This means that Hololens is not possible yet. We try to find a solution.
     
  49. Achondrite

    Achondrite

    Joined:
    Sep 23, 2015
    Posts:
    8
    Did you find a solution?
     
  50. in2sight

    in2sight

    Joined:
    Feb 24, 2018
    Posts:
    23
    Hi OPCUA in current release is working with Mono and ILCPP with Unity Version 2018.4.8 LTS. It compiles on Android, Windows, IOS. But customers were so far not capable in compiling it on Hololens. We are waiting for our Hololens2 Device (what we hopefully receive soon) to be able to test it ourselves.