ArcCast — the throw arc you can actually ship: a bounce-aware trajectory drawn on UCanvas,
a landing verdict that says whether landing there is even allowed, and a splash ring that
lies on the geometry instead of hovering through it.
The engine already predicts the path. UGameplayStatics::PredictProjectilePath hands you the
whole point list and it works. It just cannot draw it: the only renderer is
DrawDebugLine, and ENABLE_DRAW_DEBUG is 0 in a Shipping build. The aiming aid you
tested with is not in the build your players get. ArcCast draws through AHUD on UCanvas
instead — the same path as your crosshair — with no material, no mesh, no Niagara system and
no asset of any kind.
📖 Full documentation — installation, quick start, the whole API, console commands and project settings.
PredictProjectilePath stops at the first hit. ArcCast keeps going:Restitution and Friction,MaxBounces, RestSpeed or MaxSimTime says stop. Every stretchValid, TooSteep, Blocked, OutOfRange, NoGround. Ground probe, slope angle againstPredict Arc runs the same simulation and handsUArcCastProfile Data Asset; the demo shipsAHUD::OnHUDPostRender (change nothing), theAArcCastHUD, or a component you call from your own DrawHUD. Keep the HUDArcCast.Stats) puts arcs, steps, traces splitUArcCastStatics exposes the whole plugin; no C++ requiredUArcCastSettings with runtime setters.It is not a throwing or projectile system. ArcCast spawns nothing, deals no damage and
replicates nothing. It is the preview that sits next to your throwing system — including
alongside a replicated one. It is not ballistics: no air resistance, no wind, no drag, no
penetration, no Magnus effect, just a sub-stepped integrator with bounces, matching what
UProjectileMovementComponent does. It is not aim assist or target locking — it does not
move the crosshair and does not choose targets. No Niagara, no materials, no meshes — that
is deliberate, and it is why it runs in any project immediately and costs nothing to cook.
No network code: the preview is local and belongs on the controlling client; there is no
reason to spend bandwidth replicating a line only one player looks at.
A prediction is a prediction. If your projectile flies under different physics than the
profile simulated, you get a different path. The documentation lists exactly which values have
to match — and the component hands you the launch location and velocity it used, so the
simplest correct answer is to spawn with those.
The editor-viewport path needs Game View. Drawing in the editor viewport with no play
session is an editor-only second path through UDebugDrawService, registered under the
engine's Game show flag — and that flag is off in an ordinary perspective viewport. Press
G and the arc, the rings and the statistics box appear immediately, with no play session and
no player controller. Without it nothing is drawn and nothing is computed. Game View is the
mode you frame and film in anyway, which is what this path is for. The shipping path is the
AHUD one and does not depend on any of it.
ArcCast), no editor module.uplugin's PlatformAllowList and were not built for this release.Available on the Fab marketplace for Unreal Engine 5.8. Publisher: Silvan Teufel (freelance).