Teilen Sie Ihre Erfahrunge und Wünsche mit uns und anderen Usern!
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
NaughtyAttributes.Editor.ReorderableListPropertyDrawer/<>c__DisplayClass6_0:b__2 (int) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/PropertyDrawers_SpecialCase/ReorderableListPropertyDrawer.cs:78)
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)
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&)
- 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.
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:
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,
Hello Thomas，I noticed PLCsim advanced Interface only support English name，when I input Chinese name it shows ???? in Unity and I could not use them。Could you support Chinese name in future？Most of people are not good at English in China，thank you Thomas。
we are using the PLCSim Advanced Interface.
We can Import the PLCSignals without any Troubles:
The first time that we start the simulation in Unity everything is working fine (COM OK).
But after we stop the unity editor and try to start again, we get “No Mutex”... so no communication is established between the plc and Unity.
We found out that creating a new PLC Instance and re-importing the signals “fix the error”... but just for the first run. Then we have to repeat the process of creating a new PLC again and again...
Could be some background process blocking the communication? Thank you in advance.
Good day to you,
We have been using your asset Game4Automation Professional for a few weeks now and are very impressed with its functionalities. We quickly found out that especially the interoperability between tools and the intransparency of different company landscapes make the biggest troubles.
We also use another VIBN tool that already provides many libraries and templates for behavior models of drives, for example. These are mapped in FBD or a similar language, and there is also an image of this as XML, which can apparently be used for the external VIBN tool's C# programming. How to use this, however, we neither know for the external tool nor for Game4Automation yet. In order not to have to create a new behavior model for the drives of our VIBN in Unity every time, it would be good if we could take over the existing models completely or at least only with small adjustments. Do you already have experience with this, or do you know customers who have to deal with the same problems?
After further research we came across FMI, among others, which is supported by G4A Pro. Is this interface the right one to integrate behavior models from, for example, a Sinamics S120 drive from Siemens into Unity?
Or do we always have to access a library of an external tool for this? We can't currently test the FMI export of the other VIBN tool because it costs extra, so we'd like to make sure we're on the right track before purchasing it.
Do you furthermore have experience whether component manufacturers share the behavior models of their products with customers (especially also as FMI)?
FMI could be the future standard for behavioral model exchange, but currently it seems that you can't get FMUs of any component from the OEMs. And I'm pretty sure that you can't export FMUs from Simit, for example, and that Siemens doesn't provide FMUs for their own drives (Siemens is interested in selling Simit, not replacing it ;-)). Currently I would not rely on FMUs to replace own behavior models. Unfortunately, I don't see an industry accepted standard being available anytime soon. If you are a Simit user and have your own behavior models, then you can continue to use them and Simit along with Game4Automation.
I hope this helps, even though it may not be the answer I was hoping for.
In my application I use (this time) only the OPC UA connectivity of my G4A prof licensed installation. In player and editor all is working well but when I run a build the log shows "The specified license is not valid." and therefore makes no connection.
Hi, I am in vacation until this Thursday. I think it will be best to look first into your project and to check. You can send us your NDA to email@example.com and I can sign on Thursday morning.
Question:Conveyor can run but the source always go down which parameter set wrong?
The colliders of the MU are not defined as they should. You can compare with the MUs in the Demo scene.
You need to have at least one box collider on an MU which is on the layer g4a_MU (see my sceenshot). This layer is working for transport collissions as well as sensor collissions.
Please also check:
The example MU in the demo scene is even more complicated. It has two colliders - one for the transport (like realistic rolling on the bottom - on the layer g4a_TransportMU) and one for the sensor on the layer g4a_SensorMU.
We found the issue. Automatic install script had a bug. Is fixed in the latest release.
Assets\game4automation\private\QuickToggle.cs(505,36): error CS0103: The name 'CADStatus' does not exist in the current context
Are you using Professional. Please check your Scripting Define Symbols as described here:
If you are using Starter GAME4AUTOMATION_PROFESSIONAL should not be in the compiler defines.
Customer support service by UserEcho