# djoneslec/targetpractice architecture

> Architecture diagram of the GitHub repository djoneslec/targetpractice, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/djoneslec/targetpractice
- Repository: https://github.com/djoneslec/targetpractice

## Overview

Target Practice is a Unity workshop project for a time-trial first-person-shooter level, introducing raycast shooting. The intended player workflow is to navigate the level and shoot targets. The tree identifies the scene, shooting script, starter controller, input assets, and target/environment prefabs; without source excerpts or scene contents, their runtime wiring cannot be confirmed, so uncertain links are omitted.

Main entry points: [`Assets/Playground.unity`](https://github.com/djoneslec/targetpractice/blob/main/Assets/Playground.unity) (Playground Scene)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_gameplay["Gameplay"]
  node_playground["Playground Scene<br/>[Playground.unity]"]
  node_shooting["Raycast Shooting<br/>[Shooting_Script.cs]"]
end

subgraph group_world["Level Assets"]
  node_target["Target Prefab<br/>[Target.prefab]"]
  node_broken_target["Broken Target"]
  node_environment["Environment Prefab"]
  node_structure["Level Structures"]
end

subgraph group_controls["Player Controls"]
  node_player_controller["FPS Controller"]
  node_input_adapter["Input Adapter"]
  node_input_actions["Input Actions"]
end

node_player(("Player"))

node_player -->|"plays"| node_playground

click node_playground "https://github.com/djoneslec/targetpractice/blob/main/Assets/Playground.unity"
click node_shooting "https://github.com/djoneslec/targetpractice/blob/main/Assets/Scripts/Shooting_Script.cs"
click node_target "https://github.com/djoneslec/targetpractice/blob/main/Assets/Prefabs/Target.prefab"
click node_broken_target "https://github.com/djoneslec/targetpractice/blob/main/Assets/Prefabs/BrokenTarget.prefab"
click node_environment "https://github.com/djoneslec/targetpractice/blob/main/Assets/Prefabs/Environment_Prefab.prefab"
click node_structure "https://github.com/djoneslec/targetpractice/blob/main/Assets/Prefabs/Structure_Prefab.prefab"
click node_player_controller "https://github.com/djoneslec/targetpractice/blob/main/Assets/_OtherProjectFiles/StarterAssets/FirstPersonController/Scripts/FirstPersonController.cs"
click node_input_adapter "https://github.com/djoneslec/targetpractice/blob/main/Assets/_OtherProjectFiles/StarterAssets/InputSystem/StarterAssetsInputs.cs"
click node_input_actions "https://github.com/djoneslec/targetpractice/blob/main/Assets/_OtherProjectFiles/StarterAssets/InputSystem/StarterAssets.inputactions"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_playground,node_shooting toneBlue
class node_target,node_broken_target,node_environment,node_structure toneAmber
class node_player_controller,node_input_adapter,node_input_actions toneMint
class node_player toneIndigo
```

## Components

### Gameplay

- [Playground Scene](https://github.com/djoneslec/targetpractice/blob/main/Assets/Playground.unity): `Assets/Playground.unity`
- [Raycast Shooting](https://github.com/djoneslec/targetpractice/blob/main/Assets/Scripts/Shooting_Script.cs): `Assets/Scripts/Shooting_Script.cs`

### Level Assets

- [Target Prefab](https://github.com/djoneslec/targetpractice/blob/main/Assets/Prefabs/Target.prefab): `Assets/Prefabs/Target.prefab`
- [Broken Target](https://github.com/djoneslec/targetpractice/blob/main/Assets/Prefabs/BrokenTarget.prefab): `Assets/Prefabs/BrokenTarget.prefab`
- [Environment Prefab](https://github.com/djoneslec/targetpractice/blob/main/Assets/Prefabs/Environment_Prefab.prefab): `Assets/Prefabs/Environment_Prefab.prefab`
- [Level Structures](https://github.com/djoneslec/targetpractice/blob/main/Assets/Prefabs/Structure_Prefab.prefab): `Assets/Prefabs/Structure_Prefab.prefab`

### Player Controls

- [FPS Controller](https://github.com/djoneslec/targetpractice/blob/main/Assets/_OtherProjectFiles/StarterAssets/FirstPersonController/Scripts/FirstPersonController.cs): `Assets/_OtherProjectFiles/StarterAssets/FirstPersonController/Scripts/FirstPersonController.cs`
- [Input Adapter](https://github.com/djoneslec/targetpractice/blob/main/Assets/_OtherProjectFiles/StarterAssets/InputSystem/StarterAssetsInputs.cs): `Assets/_OtherProjectFiles/StarterAssets/InputSystem/StarterAssetsInputs.cs`
- [Input Actions](https://github.com/djoneslec/targetpractice/blob/main/Assets/_OtherProjectFiles/StarterAssets/InputSystem/StarterAssets.inputactions): `Assets/_OtherProjectFiles/StarterAssets/InputSystem/StarterAssets.inputactions`

### Other components

- **Player**

## Connections

- Player → Playground Scene: plays
