-
Notifications
You must be signed in to change notification settings - Fork 0
Project Structure
the-real-ltcg edited this page Jul 19, 2026
·
1 revision
Assets/
Scenes/
SampleScene.unity # the (only) playable scene
Scripts/ # game-specific code
NetworkUI.cs # host/client menu, IP entry, exit button
PlayerShoot.cs # contains DartController — throws darts (T key)
Projectile.cs # dart collision handling, tags players, destroys itself
ColorController.cs # per-player random color, synced via NetworkVariable
KeyboardInputHandler.cs # Ctrl+Shift+Alt+X quit shortcut
ClientNetworkTransform.cs # custom NetworkTransform (client-authoritative movement)
ClientNetworkAnimator.cs # custom NetworkAnimator (client-authoritative animation)
Prefabs/
NetworkPlayer.prefab # the networked player object
Dart_V1.prefab # the thrown projectile
StarterAssets/ # Unity's third-person controller asset package (mostly unmodified)
ThirdPersonController/Scripts/ThirdPersonController.cs # movement, freeze/tag logic lives here too
Environment/ # arena kit: boxes, ramps, stairs, tunnel, materials, textures
InputSystem/ # input action bindings (WASD/mouse/space/shift)
Mobile/ # touch controls (not currently used/wired for this game)
TextMesh Pro/ # TMP package assets (fonts, examples)
Packages/ # Unity Package Manager manifest/lock
ProjectSettings/ # Unity project configuration (must stay in sync with the Editor version)
.vscode/ # editor config for VS Code
-
Library/,Temp/,obj/,Build/,Builds/,Logs/,UserSettings/,.vs/— regenerated by Unity/your IDE, covered by.gitignore. -
New folder/— a prebuilt Windows executable that existed in the original download; excluded here since it's binary build output, not source. See Building a Release to make your own.
Two scripts do almost all of the gameplay work:
-
Assets/Scripts/PlayerShoot.cs(classDartController) — reads theTkey on the owning client, then calls aServerRpcthat spawns and launches the dart. -
Assets/Scripts/Projectile.cs— runs server-side collision detection; on hitting a tagged "Player", it calls intoThirdPersonController.TagPlayerServerRpc(true). -
ThirdPersonController.cs(StarterAssets, extended) — holds the_isTaggedflag that zeroes out move speed, plus the untag-on-collision logic.
See Networking Architecture for how these RPCs fit into the client/server model.