Edit: I was able to remove “Netcode for Entities” and can affect a basic entity with physics. It has taken some effort, but I am out of Exception-Hell.
I am working on a project and need a ECS physics vehicle controller (I’d be HAPPY to pay for it, if anyone has one) and I am looking through the MegaCity project and attempting to recreate the MoveJob (as found in PlayerVehicleJobs.cs) and have a situation where the object is not moving
internal partial struct MoveJob : IJobEntity
{
public float DeltaTime;
const float BaseSteeringSpeedMultiplier = 0.01f;
public void Execute(
in PlayerVehicleInput controlInput,
in PlayerVehicleSettings vehicleSettings,
ref PhysicsVelocity velocity,
in VehicleHealth health,
ref VehicleMovementState vehicleMovementState)
{
velocity.Linear = 10.0f;
return;//
Thing is, I get the following error:
[ClientWorld] The default physics world contains 1 dynamic physics objects which are not ghosts. This is not supported! In order to have client-only physics, you must setup a custom physics world:
- Entity(430:1) Capsule - PLAYER
The only thing I have gathered so far is a Ghost is used for networking, and I BELIEVE I can grasp the need for it… but I don’t need that, this is a single-player game (atm)
So I either need a way to AVOID the network portion of this (preferred!) or learn about Ghosts and how to solve this issue.
Details:
Unity 2022.3.46f1
Entities: 1.3.2
Netcode for Entities: 1.3.2
Unity Physics: 1.3.2
The prefab is in a subscene and has only the following components:
Mesh Filter
Capsule Collider
RigidBody
PlayerVehicleControllerAuthoring
So any guidance on where to go next, what to read/watch would be more helpful. Thanks