/// <summary>
        /// Process custom attribute with Unity script name, and attach any scripts found.
        /// </summary>
        /// <param name="session">Session to use</param>
        public void ProcessUnityScriptAttribute(HEU_SessionBase session)
        {
            if (_parts == null || _parts.Count == 0)
            {
                return;
            }

            foreach (HEU_PartData part in _parts)
            {
                GameObject outputGO = part.OutputGameObject;
                if (outputGO != null)
                {
                    string scriptValue = HEU_GeneralUtility.GetUnityScriptAttributeValue(session, GeoID, part.PartID);
                    if (!string.IsNullOrEmpty(scriptValue))
                    {
                        HEU_GeneralUtility.AttachScriptWithInvokeFunction(scriptValue, outputGO);
                    }
                }
            }
        }