Skip to main content

Project settings

Project Settings → Plugins → ED Mounting System. Everything here is a default that a mount or a seat can override; it exists so a project sets its trace channel and its capsule size once instead of on every vehicle.

Stored in Config/DefaultGame.ini under [/Script/EDMountingCore.EDMountingSettings].

Reach

SettingDefault
Default Mount Distance250 cmHow close a rider must be. Overridden per mount.
Server Distance Tolerance0.35How much further the server allows than the client's own check.

Distance is measured to the entry point, not to the mount's origin. Measuring to the origin — which is what seat-offset systems end up doing — makes a bus unmountable from its own door while a motorbike is mountable from three metres away, because the origin of a long vehicle is nowhere near the way in.

World checks

SettingDefault
Clearance ChannelVisibilityThe trace channel used to test whether a door is free.
Validate Entry PointstrueSweep before offering a door.
Validate Exit PointstrueSweep before putting a rider down. Leave this on.
Allow Unsafe Exit FallbacktrueWhen every exit is blocked: place at the seat (on) or refuse (off).
The one setting worth changing early

Visibility is the default because every project has it. A project that gives characters their own channel should point this at it — testing "can a person stand here" against Visibility also collides with things people walk through, and the symptom is a car you cannot get out of while standing in long grass.

Transitions

SettingDefault
Default Transition ModeAutoMontage when one resolves, procedural when none does.
Default Procedural Transition0.55 s, 25 cm arcSee Animation.
Default Animation SetnoneUsed by seats and riders that name none. Soft, loaded on demand.
Transition Watchdog Grace1.5 sHow long past a montage's expected end before finishing it anyway.

Networking

SettingDefault
Predict TransitionstrueLet an autonomous client start before the server confirms.
Prediction Timeout1.0 sHow long it waits before rolling back on its own.

See Replication.

Rider

SettingDefault
CollisionDisabledWhat happens to the rider's collision while seated.
Disable Movement Componenttrue
Suppress Movement Replicationtrue
Hide Rider Meshfalse
Always Tick Pose While Seatedtrue
Default Possession PolicyKeep Possessing the Rider

The reasoning behind each is in Camera and possession.

Debug

SettingDefault
Draw Seats In PIEfalseThe same thing ED.Mounting.DrawSeats does, for a whole session.

Console variables

Cheat-gated, and every draw path is inside ENABLE_DRAW_DEBUG.

Variable
ED.Mounting.DrawSeats 1Draw every registered mount's seats and doors, colour-coded live.
ED.Mounting.DrawDistance <cm>How far from the camera that draws. Default 3000.
ED.Mounting.DrawState 1Print each local rider's phase, mount, seat and sequence on screen.
ED.Mounting.DisablePrediction 1Force clients to wait for the server. Wins over the project setting.

Console commands

Command
ED.Mounting.DumpEvery registered mount, its seats, their doors and occupancy, plus the local rider's state.
ED.Mounting.MountNearest [radius]Mount from the console. The optional radius widens the search, not the mount's reach.
ED.Mounting.DismountDismount from the console.

Dump is the fastest route to three answers a screenshot cannot give you: how many of a seat's doors a rider actually fits through right now, whether a seat is free as opposed to merely unoccupied — a seat reserved by a rider still walking to it is neither — and what the mount's own reach is, which is a different number from the query's search radius.

The radius on MountNearest widens the search only, deliberately. A wide radius that comes back TooFar has told you both that something is there and that you are not close enough, which is the distinction plain silence hides.

Logging

One category for the whole framework, and every line is prefixed with the net role that wrote it:

log LogEDMounting Verbose
LogEDMounting: Verbose: [Server] 'BP_Character_C_0' reserved Seat#0 on 'BP_SportsCar_C_2'.
LogEDMounting: Verbose: [Client] Mount request refused: Failure(TooFar)

Mounting bugs are almost always a sequence — request, validation, montage, attach, replication — and a sequence is unreadable when each step logs under a different category.