Expanding the Project
Adding New Scene
- Duplicate an existing scene (for example
Game
inAssets/TPSBR/Scenes
). - Replace existing objects (Geometry, Lights, Item Boxes, ...) with custom objects.
- Save the map.
- Add the scene to Build Settings.
- Add the scene to
MapSettings
asset (located inAssets/TPSBR/Resources/Settings
). Pick an unique Id, set correct scene path and update other metadata. If you want the scene to appear in runtime Menu UI, enableShow In Map Selection
toggle.
Adding New Agents
- Duplicate an existing agent prefab (
Marine
orSoldier
inAssets/TPSBR/Prefabs/Agents
) or create a new prefab variant from theAgentBase
prefab. - Replace the character model and create all necessary weapon handle objects in the bone hierarchy Check what is needed based on an existing agent.
- Add
BodyPart
components to appropriate bones to define character hit boxes and refresh the list of hit boxes in theHitboxRoot
component. - Assign weapon handles, bone references, and other references in the
CharacterAnimationController
,Weapons
, andCharacter
components. - For an agent to be displayed as a playable character in the menu, add it in the
AgentSettings
asset (Assets/TPSBR/Resources/Settings/AgentSettings
)
Adding New Weapons
- Duplicate an existing weapon prefab or create a new prefab variant from the appropriate prefab base (
PistolBase
,RifleBase
,SniperBase
) - Assign a new
WeaponID
, display name, name shortcut, and correctWeaponSlot
in theHitscanWeapon
component - Replace the weapon model and adjust the size of existing colliders if needed.
- To create a corresponding weapon pickup prefab, follow a similar prefab creation workflow also for the weapon pickup (
Assets/TPSBR/Prefabs/Pickups/Weapons
). Update theWeaponPrefab
reference inWeaponPickup
component with the new weapon prefab. - To test the weapon, add it to the
InitialWeapons
array in theWeapons
component on theAgentBase
prefab. - To have a new weapon available in item boxes, Add the weapon pickup in the
PickupsSetup
in theItemBox
prefab (Assets/TPSBR/Prefabs/Gameplay
).
Adding New Projectiles
- Duplicate an existing projectile prefab or create a new prefab variant from the appropriate prefab base (
ProjectileBase
,GrenadeBase
). - Modify the component values or graphics.
- Assign the projectile prefab reference in the weapon prefab (
Projectile
property inHitscanWeapon
orProjectileWeapon
component).