/// <summary>
        /// overridden function to set/update all specific properties on the engine instance
        /// </summary>
        public override void SetEngineInstanceBaseProperties()
        {
            if (_engineInstance == null)
            {
                return;
            }
            EnginePGroup.BeginUpdateParams();
            EnginePGroup.SetRandomBaseSeed(_uiRandomBaseSeed);
            EnginePGroup.SetEffectFile(_effectFile); // first set the effect...
            base.SetEngineInstanceBaseProperties();  // ...then position etc.
            EnginePGroup.SetVisibleBitmask((uint)_iVisibleBitmask);
            EnginePGroup.SetLightInfluenceBitmask((uint)_iLightInfluenceBitmask);
            EnginePGroup.SetPreferredDirLightKey(_preferredDynamicDirLightKey);
            EnginePGroup.SetLightSamplingOffset(_lightSamplingOffset);
            EnginePGroup.SetAmbientColor(VisionColors.Get(_ambientColor));
            EnginePGroup.SetPaused(_bPaused);
            EnginePGroup.SetHalted(_bHalted);
            EnginePGroup.SetWindSpeed(_windSpeed, _bLocalSpaceWind);
            EnginePGroup.UpdateParticleColors();
            EnginePGroup.SetIntensity(_fIntensity);
            EnginePGroup.SetApplyTimeOfDayLight(_bApplyTimeOfDayLighting);
            EnginePGroup.SetRemoveWhenFinished(_removeWhenFinished);
            UpdateMeshEmitterEntity();

            EnginePGroup.EndUpdateParams();
        }