protected override void OnCreate()
        {
            HandlesToWaitFor = new NativeList <JobHandle>(16, Allocator.Persistent);

            m_BuildPhysicsWorld  = World.GetOrCreateSystem <BuildPhysicsWorld>();
            m_StepPhysicsWorld   = World.GetOrCreateSystem <StepPhysicsWorld>();
            m_ExportPhysicsWorld = World.GetOrCreateSystem <ExportPhysicsWorld>();
        }
        protected override void OnCreate()
        {
            m_BuildPhysicsWorldSystem  = World.GetOrCreateSystem <BuildPhysicsWorld>();
            m_ExportPhysicsWorldSystem = World.GetOrCreateSystem <ExportPhysicsWorld>();
            m_EndFramePhysicsSystem    = World.GetOrCreateSystem <EndFramePhysicsSystem>();

#if !NET_DOTS
            Assert.AreEqual(Enum.GetValues(typeof(SimulationType)).Length, k_NumSimulationTypes);
#endif

            RegisterSimulation(SimulationType.NoPhysics, () => new DummySimulation());
            RegisterSimulation(SimulationType.UnityPhysics, () => new Simulation());
            RegisterSimulation(SimulationType.HavokPhysics, () =>
                               throw new NotSupportedException("Havok Physics package not present. Use the package manager to add it."));

            base.OnCreate();
        }