Teilen Sie Ihre Erfahrunge und Wünsche mit uns und anderen Usern!

OPCUA4Unity can't connect to opcua server with username and password
Anonymous connection works fine, but when using a username and password, the console doesn't show any errors in creating the connection, but I am not able to read or write to nodes. Also the server doesn't acknowledge the connection. Even when using application certificates the connection doesn't work properly. Using OPC Watch or UaExpert I can easily connect to the server with the username and password.

Unity is connecting successfully but afterwards no nodes are available when the connection is done with a username and password. Are there any special security settings on the nodes itself in the server which could prevent the reading when loggin in with a user?

Problem after import game4automation assert
Hello,
I have a problem with the game4automation assets. My first project works very well but now I started a new one and after I installed the game4automation again I could add the game4automation asset again to this new project. But I have no tab in the menu bar from game4automation and in the console following errors:
Assets\game4automation\Professional\LogicStep_CinemachineCamera.cs(5,7): error CS0246: The type or namespace name 'Cinemachine' could not be found (are you missing a using directive or an assembly reference?)
Assets\game4automation\private\Game4AutomationController.cs(17,7): error CS0246: The type or namespace name 'Cinemachine' could not be found (are you missing a using directive or an assembly reference?)
Assets\game4automation\Professional\LogicStep_CinemachineCamera.cs(21,42): error CS0246: The type or namespace name 'CinemachineBlendDefinition' could not be found (are you missing a using directive or an assembly reference?)
1. Question:
Do I must install the game4automation asset every time when I start a new project?
After I saved it and opened the cell again I got following error:
If I press "Enter Safe Mode" it shows me the same error.
After I close the safe mode it loads some parts from game4automation. In the tab I have the new one with game4automation but only one entry and in the project I lose my game4automation asset.
What can I do to bring game4automation to run?
Or what do I wrong?
Best Tobias

I see, you seem to use latest beta - which has a bug and is not working without Cinemachine - please use the latest official release (2020.15).

Problem with collisions
Hello,
It's me again, I have a problem with a MU, I "spawn" This mu onto a transport surface in g4atransport. It stays in position and can be gripped by the gripper. But when the gripper places it into a warehouse (With a mesh collider) It just falls through the warehouse and floor.
Below are the warehouse settings and the carrier (MU) settings

It is hard to say what your problem is - everything should work out the box. Can you send your project with a description where the problem occurs and I will directly check in your projet.

Unity Editor NullReferenceException when clicking on GameObjects
Hello,
i am experiencing NullReferenceExceptions and out of Bounds - Debug.LogErrors in the Unity Editor with the Game4Automation Professional Package installed.
Steps to recreate the behaviour are
- take a empty project
- import the G4A Professional 2020.15 package
- click on the "PlasticBox" Gameobject
You will be flooded with following errors:
Retrieving array element that was out of bounds
UnityEditor.SerializedProperty:GetArrayElementAtIndex (int)
NaughtyAttributes.Editor.ReorderableListPropertyDrawer/<>c__DisplayClass6_0:b__2 (int) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/PropertyDrawers_SpecialCase/ReorderableListPropertyDrawer.cs:78)
UnityEditorInternal.ReorderableList:CacheIfNeeded ()
UnityEditorInternal.ReorderableList:GetListElementHeight ()
UnityEditorInternal.ReorderableList:DoLayoutList ()
NaughtyAttributes.Editor.ReorderableListPropertyDrawer:OnGUI_Internal (UnityEngine.Rect,UnityEditor.SerializedProperty,UnityEngine.GUIContent) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/PropertyDrawers_SpecialCase/ReorderableListPropertyDrawer.cs:89)
NaughtyAttributes.Editor.SpecialCasePropertyDrawerBase:OnGUI (UnityEngine.Rect,UnityEditor.SerializedProperty) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/PropertyDrawers_SpecialCase/SpecialCasePropertyDrawerBase.cs:32)
NaughtyAttributes.Editor.NaughtyEditorGUI:PropertyField_Implementation (UnityEngine.Rect,UnityEditor.SerializedProperty,bool,NaughtyAttributes.Editor.NaughtyEditorGUI/PropertyFieldFunction) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/Utility/NaughtyEditorGUI.cs:47)
NaughtyAttributes.Editor.NaughtyEditorGUI:PropertyField_Layout (UnityEditor.SerializedProperty,bool) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/Utility/NaughtyEditorGUI.cs:29)
NaughtyAttributes.Editor.NaughtyInspector:DrawSerializedProperties () (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/NaughtyInspector.cs:87)
NaughtyAttributes.Editor.NaughtyInspector:OnInspectorGUI () (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/NaughtyInspector.cs:47)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
NullReferenceException: Object reference not set to an instance of an object
UnityEditor.PropertyHandler.GetHeight (UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at <3371b3e2e5754acd87e600e068350da5>:0)
UnityEditor.EditorGUI.GetPropertyHeightInternal (UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at <3371b3e2e5754acd87e600e068350da5>:0)
UnityEditor.EditorGUI.GetPropertyHeight (UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at <3371b3e2e5754acd87e600e068350da5>:0)
UnityEditor.EditorGUI.GetPropertyHeight (UnityEditor.SerializedProperty property) (at <3371b3e2e5754acd87e600e068350da5>:0)
NaughtyAttributes.Editor.ReorderableListPropertyDrawer+<>c__DisplayClass6_0.b__2 (System.Int32 index) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/PropertyDrawers_SpecialCase/ReorderableListPropertyDrawer.cs:78)
UnityEditorInternal.ReorderableList.CacheIfNeeded () (at <3371b3e2e5754acd87e600e068350da5>:0)
UnityEditorInternal.ReorderableList.GetListElementHeight () (at <3371b3e2e5754acd87e600e068350da5>:0)
UnityEditorInternal.ReorderableList.DoLayoutList () (at <3371b3e2e5754acd87e600e068350da5>:0)
NaughtyAttributes.Editor.ReorderableListPropertyDrawer.OnGUI_Internal (UnityEngine.Rect rect, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/PropertyDrawers_SpecialCase/ReorderableListPropertyDrawer.cs:89)
NaughtyAttributes.Editor.SpecialCasePropertyDrawerBase.OnGUI (UnityEngine.Rect rect, UnityEditor.SerializedProperty property) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/PropertyDrawers_SpecialCase/SpecialCasePropertyDrawerBase.cs:32)
NaughtyAttributes.Editor.NaughtyEditorGUI.PropertyField_Implementation (UnityEngine.Rect rect, UnityEditor.SerializedProperty property, System.Boolean includeChildren, NaughtyAttributes.Editor.NaughtyEditorGUI+PropertyFieldFunction propertyFieldFunction) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/Utility/NaughtyEditorGUI.cs:47)
NaughtyAttributes.Editor.NaughtyEditorGUI.PropertyField_Layout (UnityEditor.SerializedProperty property, System.Boolean includeChildren) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/Utility/NaughtyEditorGUI.cs:29)
NaughtyAttributes.Editor.NaughtyInspector.DrawSerializedProperties () (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/NaughtyInspector.cs:87)
NaughtyAttributes.Editor.NaughtyInspector.OnInspectorGUI () (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/NaughtyInspector.cs:47)
UnityEditor.UIElements.InspectorElement+<>c__DisplayClass59_0.b__0 () (at :0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
My Setup:
- Unity 2020.3.33f1 LTS ( this also occures at the newest released Unity 2021.3 LTS Version )
- an empty Project
What did i try?
- Scripting Define Symbols are set
- the "game4automation -> apply standard settings" doesnt change anything
- deleting the current Version of NaughtyAttributes in the folder "Assets/game4automation/private/Tools" and importing the current release of NaughtyAttributes of github to the project
Everything is working as expected in old LTS Versions, like Unity 2020.3.19.

Hi, thanks for the feedback. So it seems that it was indeed a Unity bug.

Navigation in Game Modus
Hallo Herr Strigl,
in meinem Projekt habe ich das game4automation asset hinzugefügt. Allerdings kann ich weder navigieren, noch reagiert der „Game“ Modus auf meine Mausklicks.
Wenn ich unter dem „Event System“ die „Add Default Input Modules“ lade wird mir folgender Fehler angezeigt. Wenn ich dies wie beschrieben ersetzte, funktionieren die Mausklicks in der „Game“ View aber bewegen kann ich mich immer noch nicht.

Game4Automation is using the old input system and it should work out off the box in an empty project. You don't need to add anything else - besides game4automation into your scene. Please check if your project settings are like this - specially active input handling and scripting define symbols:

Device Mapping in ABB
Hello,
I am working on connecting ABB robotstudio to game4automation, and I have a question about the device mapping. I have device mappings that go to +-120, How can I make this in robotstudio? I can only see it go up to 9 and then it becomes 1,1, 1,2 etc, does this count as 11,12 etc?
Another question, Do I have to create empties in robotstudio for every missing device map? I saw the page but didnt understand why you had to create that much empties.

Please try do do this. I am not able to test because currently I have not an ABB Robotstudio with your configuration. Hope it works.
Add Byte to Origin Data Type
and replace Line 167 following in ABBRobotStudioInterface by this:
if (signal.OriginDataType.ToUpper() != "BYTE")
{
if (signal.GetType() == typeof(PLCInputInt) || signal.GetType() == typeof(PLCOutputInt))
{
if (lastbit)
posmemory = posmemory + 1;
bit = 0;
shm.bit = 0;
lastbit = false;
signal.Comment = $"MD{posmemory}";
accessor.Write(posheader, (byte) 10);
shm.type = SIGNALTYPE.INT;
posmemory = posmemory + 4;
}
}
else
{ if (signal.GetType() == typeof(PLCInputInt) || signal.GetType() == typeof(PLCOutputInt))
{
if (lastbit)
posmemory = posmemory + 1;
bit = 0;
shm.bit = 0;
lastbit = false;
signal.Comment = $"M{posmemory}";
accessor.Write(posheader, (byte) 8);
shm.type = SIGNALTYPE.BYTE;
posmemory = posmemory + 1;
}
}

Hello Thomas,can I build an Android APP?
Hello Thomas,I connect my mobilephone with my PC through WIFI。But when I open PLCSIM advanced Interface in Android it does not appear a black window,so I can't connect my virtual PLC。If I want control my virtual PLC in Android what should I do?Can I do it?Thank you Thomas。

Hi, not all Interfaces are working on all Platforms. Unity is cross compiling to the destination platform but sometimes we need windows specific DLLs. PLCSim Advanced is not working on Android. But you could connect to it using the S7 interface. More information about platform limitations can be found here:
https://game4automation.com/documentation/current/platforms.html#Known-platform-limitations
Best regards
Thomas

Error in opening secure channel [BadEncodingLimitsExceeded]
I have this problem when I try connecting Prosys OPC UA server simulator: OPCUA Interface - Error in opening secure channel [BadEncodingLimitsExceeded]
I can connect with OPC watch like in game4automation documentation. Whats wrong?

We found the issue with Prosys OPCUA server:
https://forum.realvirtual.io/communities/1/topics/482-import-nodes-remains-importing-for-ever

game4automation Starter Edition Questions
Hi Thomas, I'm having a problem with game4automation Starter Edition. After I connect to the S7-1200 and import the .sdf file, but the connection icon is gray, not colored as in the video, but I am following the video, is the starter version supporting the communication of the S7-1200? And how do I complete the communication, I have been worried about this for several days.I would very much like to have your help.

Hard to say what your problem is. Yes for sure, Starter is supporting S7 interface.
Is it an input or an output what you would like to use. Please make sure, that both are well outside the existing hardware IO adresses, otherwise the hardware status could overwrite the signals from the G4A S7 interface. Do you get any error messages in the console log. Please also check that your PLC is configured like described here:
https://game4automation.com/documentation/current/s7tcpip.html#Configuring-the-PLC

Question about rotating transport surface
Hello,
I am currently working on a project which uses a conveyor on a rotating axis. I got this all to work, but when the conveyor rotates the transport surface is in the wrong direction (It doesn't change with the rotation of the part)
"Draaitafel" is the GameObject that rotates, it contains the transport surfaces (which are in the conveyor game object) and a frame +sensors. The drive script of the transport surfaces is made on the Conveyor gameobject. I have tried putting it on "Draaistation" but no success with that either.
Hope you can help!
With kind regards,
Bo
Customer support service by UserEcho