Turn a target position into a launch velocity, show the player where the shot will travel, and launch a projectile along that solution. ArcSmith brings those steps together in a focused 3D ballistic toolkit for Unity, with reusable profiles, obstacle-aware previews and editable C# source.
Use it to build cannon aiming, thrown-object targeting, parcel delivery or artillery puzzles. Choose the constraint your mechanic needs: flight time, launch speed, apex height or launch angle. Four playable examples demonstrate the complete workflow from aiming to impact.
Solve the trajectory you need
Choose a flight duration, solve low and high paths at a fixed speed, specify an apex above the endpoints, or fix the launch angle and let ArcSmith find the speed. Elevation limits keep turrets inside their range of motion, and an optional best-reach fallback fires the closest allowed shot when a target is out of range. Gravity is a configurable world-space acceleration vector, so sideways or custom-gravity scenarios use the same API. Unreachable and invalid inputs return explicit failures instead of a misleading path.
Plan around obstacles
Sphere-swept previews account for projectile radius and report hits, blocked origins and capacity limits. Preferred, Prefer Clear and Require Clear policies can test the alternate fixed-speed branch when the selected arc is obstructed. Accept the intended receiver by collider, layer, tag or a C# filter so it counts as a valid endpoint.
Keep each projectile on the previewed path
ArcPreview and ArcProjectile use the same ArcSolution and trajectory equations, and the projectile renders smoothly every frame. Launch through C# or UnityEvents, then react to launch, rejection, impact and expiry directly on the launcher. Integrate your own object pool through optional spawn and release callbacks, with explicit cancellation and reuse checks. Need real physics instead? Launch a Rigidbody on the same solved arc. Constant-velocity leading in Duration mode lets your own movement code supply a target velocity for interception.
Learn through four interactive demos
Start with a first launch, compare solver constraints and low/high paths, play an eight-shot parcel-delivery challenge, then test leading against a moving target. Click-to-aim controls, negative cases, trails, impact feedback and quick reset make each behavior visible. The example C# source is included.
Setup and documentation
The Getting Started window provides scene setup actions, demo links and API guidance. A scene-setup action with Undo creates an example launcher, target and preview. Reusable profile assets, a grouped Inspector, target handles and a searchable PDF manual cover setup, integration, limits and troubleshooting.
ArcSmith includes editable C# source and requires no third-party SDK, service, account or subscription. Runtime uses Unity Core and 3D Physics. The included demos use Unity UI, ship in Built-in, URP and HDRP versions, and run with the legacy Input Manager, the Input System package or both.
Scope: ArcSmith supplies analytic constant-acceleration solving, path queries, preview/launch components and editable examples. The analytic projectile does not simulate drag, bounce, penetration or Rigidbody momentum transfer; the optional Rigidbody launch hands those to Unity physics. ArcSmith does not predict accelerating targets or moving obstacles and has no networking or 2D physics.