Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice

Feedback PhysicsGraphicalSmoothing and PhysicsGraphicalInterpolationBuffer should be Predicted Client

Discussion in 'NetCode for ECS' started by Kmsxkuse, May 14, 2023.

  1. Kmsxkuse


    Feb 15, 2019
    PhysicsGraphicalSmoothing [PGS] is a physics component used for rendering smoothing by interpolating (when PhysicsGraphicalInterpolationBuffer [PGIB] exists) or extrapolating (when PGIB isn't on the entity).

    Current default variants for these two components is All Predicted for PGS and All (not set to anything) for PGIB.

    Since the server never needs to render anything, neither of these components are of any use and are wasting chunk capacity.

    Interpolated ghosts as well don't need any physics interpolation because their movement is controlled by the server data packets and not physics. Hence PGIB is being wasted on interpolated clients.

    I would like to suggest that these two component be default set to Predicted Client in NetCode's
    Code (CSharp):
    1. [GhostComponentVariation(typeof(PhysicsGraphicalSmoothing), nameof(PhysicsGraphicalSmoothing))]
    2. [GhostComponent(PrefabType = GhostPrefabType.PredictedClient)]
    3. public struct PhysicsGraphicalSmoothingDefaultVariant
    4. {
    5. }
    7. [GhostComponentVariation(typeof(PhysicsGraphicalInterpolationBuffer), nameof(PhysicsGraphicalInterpolationBuffer))]
    8. [GhostComponent(PrefabType = GhostPrefabType.PredictedClient)]
    9. public struct PhysicsGraphicalInterpolationBufferDefaultVariant
    10. {
    11. }
    Last edited: May 14, 2023
  2. optimise


    Jan 22, 2014
    I would like to add on that consider change to enableable component and disable the components for non predicted client ghost to make both predicted and interpolate ghosts merge into same archetype by default. And also even better for variant system add the feature to make it able to override component to become enableable component with / without [GhostEnabledBit].
  3. NikiWalker


    Unity Technologies

    May 18, 2021
    Hello! Thanks for this feedback, great catches! I'll ping back once the team has had time to action them.

    I know @CMarastoni has ideas in this area.

    Oh, good catch! You're right, this is achievable relatively easily via variants.

    All of the above is now in our backlog. :)
    Kmsxkuse likes this.