using System; using Unity.Entities; using Unity.Mathematics; using Unity.NetCode; [Serializable] [GhostComponent] public struct FirstPersonPlayer : IComponentData { [GhostField] public Entity ControlledCharacter; } [Serializable] public struct FirstPersonPlayerInputs : IInputComponentData { public float2 MoveInput; public float2 LookInput; public InputEvent JumpPressed; } [Serializable] [GhostComponent(SendTypeOptimization = GhostSendType.OnlyPredictedClients)] public struct FirstPersonPlayerNetworkInput : IComponentData { [GhostField()] public float2 LastProcessedLookInput; }