Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

JacobStephens2/USPSA-Shooter-Unity-Windows

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

4 Commits

Repository files navigation

USPSA Shooter — Unity 3D

A small first-person 3D shooter inspired by a USPSA (United States Practical Shooting Association) match. You run a two-stage course of fire against a buzzer, scored by hit factor (points ÷ time). Stage 2 adds an armed ranchero bad guy who shoots back — use cover and put him down to clear it.

The entire match (arena, lights, player, targets, the ranchero, the HUD) is generated procedurally from C# at runtime using Unity primitives. There are no imported models, textures, materials, or prefabs to break — open the scene and press Play.

Requirements

  • Unity 6 LTS (6000.0.x) recommended. Any Unity 2021.3+ will also open it (Unity Hub will offer to upgrade-open). Built-in Render Pipeline.

How to open & run

  1. Open Unity Hub → Add → Add project from disk and select this folder (USPSA-Shooter).
  2. Open the project. Unity imports and compiles the scripts (first open takes a minute).
  3. Open the scene Assets/Scenes/Match.unity if it isn't already loaded. (It contains a single GameManager object that builds everything else.)
  4. Press Play.

Controls

Input Action
W A S D Move
Mouse Look
Left mouse Fire
R Reload
Shift Sprint
Space Jump
F Make Ready / start the buzzer (when prompted)
Space Advance after a stage / restart match
R Re-shoot a stage after you go down
Esc Free the mouse cursor

Match flow

  1. Make Ready — press F. After a random delay the buzzer goes (GO!) and the clock starts.
  2. On the clock — engage every target. Scoring follows USPSA conventions:
    • Paper targets need two hits ("double tap") to be neutralized. Hits are zoned by height: A = 5, C = 3, D = 1.
    • Steel poppers fall on a single hit (5 points).
  3. Stage 1 — "El Presidente Bay": freestyle paper + steel, no return fire.
  4. Stage 2 — "The Ranchero Strikes Back": paper targets plus the ranchero. He fires dodgeable bursts at you from behind a barricade — break line of sight behind cover. He takes ~3 solid hits. The stage clears only when all paper is neutralized and the ranchero is down (+15 bonus).
  5. Each stage reports time, points, and hit factor; the match summary shows a combined hit factor.

You regenerate health a few seconds after the last time you were hit. If your health reaches zero on Stage 2, you go down and can re-shoot the stage with R.

Project layout

Assets/
 Scenes/Match.unity Bootstrap scene — just the GameManager object
 Scripts/
 GameManager.cs Match director, state machine, scoring, HUD (IMGUI)
 StageBuilder.cs Procedurally builds each stage's geometry & targets
 PlayerController.cs FPS movement + mouse look (CharacterController)
 WeaponController.cs Hitscan firing, ammo, reload, recoil
 Target.cs Paper/steel targets, zone scoring, neutralization
 RancheroAI.cs Stage-2 enemy: strafes, fires bursts, can be killed
 Projectile.cs The ranchero's dodgeable rounds
 HealthSystem.cs Shared health (player + ranchero) with regen
 GameUtil.cs Asset-free primitive/material/tracer helpers

Tuning

Most feel knobs are public fields you can tweak in code or, after pressing Play, on the live objects in the Hierarchy:

  • WeaponController: damage, fireRate, magSize, spread, recoilKick
  • RancheroAI: burstSize, fireInterval, aimError, projectileDamage, strafeRange
  • PlayerController: walkSpeed, mouseSensitivity, jumpHeight
  • HealthSystem: maxHealth, regenRate, regenDelay

Note for this machine (WDAC)

Running in the Unity Editor (Play mode) is fine. However, a built .exe of this game will be blocked under WDAC enforcement until it's whitelisted by Publisher (Unity-built players are typically unsigned, so you'd sign it first, then approve the signer). That's only relevant if you do File → Build — for development just use Play mode.

About

3D first-person USPSA match shooter for Windows, built in Unity 6 — procedurally-built stages, an 8-shot revolver with reload animation, and a return-fire ranchero on Stage 2. Asset-free (everything generated from primitives at runtime).

Topics

Resources

Stars

Watchers

Forks

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /