So when moving object that has a particle system set to shape (SkinnedMeshRenderer) bounds doesn’t seems to catch up correctly:

(Ignore actual frame drops, gizmos are too heavy to render)
Actual particles are where they should be, but bounds really lag behind.
Which causes particles to disapper in game (and also flicker), since culling kicks in and thinks that particles are offscreen.
This is probably because object (model) is updated in LateUpdate;
Setting culling mode to “Always Simulate” doesn’t help (particles are simulated correctly though).
Is there a way to disable particle system bounds culling completely?
Setting simulation space to world does solve the issue, but breaks the effect unfortunately.
SkinnedMeshRenderer has “Update while offscreen” enabled.
Any other suggestions?
I recommend submitting a bug report for that. It seems like a bug.
You’re probably correct that LateUpdate has something to do with it 
1 Like
Submitted. Case 1307534.
Note that this bug is most likely framerate dependant.
In repro project I had to ramp up movement speed quite high, but in my project it doesn’t require that much.
1 Like
Also, managed to create a hack that extends bounds of Particle System.
If anyone encounters same issue, you can emit particles at max bounds of your scenes, and that will disable culling logic:
using UnityEngine;
namespace FX {
public class ParticleBoundsHack : MonoBehaviour {
[SerializeField]
private ParticleSystem _ps = default;
private void OnEnable() {
_ps.Emit(GenerateEmitParams(new Vector3(100000f, 100000f, 100000f)), 1);
_ps.Emit(GenerateEmitParams(new Vector3(-100000f, -100000f, -100000f)), 1);
}
private ParticleSystem.EmitParams GenerateEmitParams(Vector3 pos) {
return new ParticleSystem.EmitParams
{
startSize = 0.01f,
angularVelocity = 0,
applyShapeToPosition = false,
position = pos,
startLifetime = float.PositiveInfinity,
};
}
#if UNITY_EDITOR
protected virtual void OnValidate() {
_ps = GetComponent<ParticleSystem>();
}
#endif
}
}
Attach this script to particle system, and it should extend bounds to [-100000f; 100000f] min max points.
If some extra properties used, EmitParams can be extended to anything required.