Rocket Rumble 2D¶
An optional 2–4-player platform combat sample for Couch Co-op Builder, Unity 6.3 LTS, URP and Input System. It demonstrates selected-character spawning, isolated gameplay input, profile rebinding and persistent session flow. Its fixed Shared Camera, movement, combat and match rules are game content; framework scope is explained in Player scope.

Figure 4. Rocket Rumble 2D uses one fixed shared view and independent player combat actions.
Open and play¶
Open RocketRumble2DMainMenu (Assets/LevelArgento/CouchCoopBuilder/Samples/RocketRumble2D/Scenes/RocketRumble2DMainMenu.unity), enter Play Mode and choose PLAY. Join at least two players, browse Cobalt/Ember/Mint/Orchid, confirm Ready and activate START GAME. First register its three scenes using Configure Supplied Samples. Customize your own copies of the supplied scenes, catalog and prefabs; keep RocketRumbleShared when using this sample.
Shared Rocket Rumble guidance covers Main Menu, Audio/Controls, Pause, Device Lost, Drop Out/Rejoin and scene returns. Lobby controls are separate from the gameplay controls below.
Gameplay controls¶
| Source | Move | Jump | Fire | Shield | Pause / winner return |
|---|---|---|---|---|---|
| Keyboard A | A / D | Space | F | Left Shift | T |
| Keyboard B | Left / Right | Numpad 0 | Enter | Right Shift | Y |
| Gamepad | Left stick horizontal | North | South | Left Trigger | Start |
| Supplied DragonRise profile | Stick horizontal | button3 | button2 | button1 | button11 |
Join/Leave defaults are Q/G, P/Backspace, Start/Select and DragonRise button11/button12. Gameplay actions are independently rebindable; this game does not consume Look or vertical Move. Up/stick Up never jumps. One press requests one grounded jump; holding through landing does not jump again. Dead/countdown/winner states reject Jump without audio.
Arena and jump¶
Rigidbody2D movement retains facing on release, including horizontal air control. Jump speed is 17.5, with body gravity scale 3 and airborne multipliers 1.4 rising / 2 falling. A floor jump reaches approximately 3.54 units, peaks around 0.40 seconds and lands around 0.76 seconds. The first platform is reachable; the center platform needs intermediate traversal. Solid undersides block upward passage, and side-wall contact is not grounding. Tune the supplied player prefabs for your game's scale.
Rockets fire horizontally with a 0.35-second cooldown, speed 18 and lifetime 2.5 seconds. They ignore their owner, consume on a valid hit and have no splash damage. One unblocked opponent hit causes one death and one attacker point; falling is an unscored death.
Shield, respawn and match¶
Hold Shield to raise a frontal energy plate while moving/firing. Releasing without a block costs nothing. A frontal incoming rocket is consumed without death/score and starts a five-second cooldown; rear attacks bypass protection. A second rocket can kill after the shield is spent. HUD displays Ready, Active or remaining cooldown. Death/respawn resets Shield and requires a fresh press.
The authored 3 → 2 → 1 → GO! countdown blocks gameplay. Default first to 10 kills wins, with five-second respawn. The same object, context, InputUser, selection and score survive ordinary death/respawn. Eleven authored floor/platform points prefer at least five units from living opponents, avoid the previous point when possible, and otherwise maximize separation. Missing respawn points fall back to initial authored spawns.
Victory stops gameplay/scoring, clears rockets and displays the winner. Any joined player with available input can use their Pause shortcut or the pointer Return button to return to the originating lobby. Identity/selection persist; Ready and the next match's score reset. Reversible Drop Out instead releases/recreates the representation while keeping score; shared lifecycle guidance explains that distinction.
Integration to study¶
GameplayPlayerSetup: Spawn Selected Character + Explicit Spawn Points; the framework owns instantiation and scene cleanup.GameplayPlayerBinding: context and Built-in Actions; the match consumesPlayerResolved/PlayerReleasedand replays already-resolved objects.RocketRumble2DPlayerController/RocketRumble2DProjectile: owned actions, physics, facing and combat.RocketRumbleMatchController/RocketRumbleRespawnPoints/RocketRumbleHud: session-owned score, safe respawn, authored TMP feedback and match flow.- Shared menus and settings: included sample audio and framework Input Binding Profile integration.
This sample uses one fixed Shared Camera. Rocket Rumble 3D demonstrates runtime Split Screen; Split Screen Playgrounds demonstrate up to eight participants. The 2D game is not a generic movement, matchmaking or arbitrary-content performance solution.
Try your integration¶
Start with Q/P, confirm independently and move to Start without losing Ready. Move/jump/fire/shield independently, die and respawn, then return after victory. Change Fire to an unused key in Controls and confirm that lobby Confirm stays unchanged. Test Pause/Resume, Drop Out/Rejoin and physical Device Lost separately; repeat with your supported controllers and check Console on scene exit.