fba4780c0e451881f37d7d85037663a8500ea213
Gate the Lobby-to-world transition on a new MatchSubPhase.Loading before Hide: movement stays frozen and the Hide countdown does not start until every connected client has spawned all match avatars and applied their paintings. - MatchManager: Loading phase; matchLoadTimeout tunable; Match_BeginLoad broadcasts the respawned avatar NetworkObjectIds (+ generation tag), Match_Ready collects per-client ACKs (host self-checks locally); barrier coroutine in RunMatchPhases before Hide; disconnect/teardown cleanup. - GameModeManager: freeze local player (movement/paint/tab) during Loading, restored via ActiveMode.Enter() on transition to Hide (no camera jump). - NetworkPlayerSetup: treat Loading like Hide in ComputeVisible so a fast-loading client cannot reveal a hider early. - MatchHud: "Loading" phase label. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Chameleon
A Unity mesh-painting game inspired by Meccha Chameleon — not a 1:1 clone. You paint your character directly on its 3D mesh to blend into the environment, and move with an extended traversal kit (run, jump, slope-slide, wall-climb).
Status: early prototype. Core painting and movement work; the hide-and-seek game loop (roles, rounds, scoring, multiplayer) is not built yet.
Features so far
- Seamless mesh painting straight onto the character's 3D mesh (GPU + CPU path, edge-dilation against seams).
- Third-person character controller — camera-relative WASD, jump, gravity, slope-sliding off too-steep surfaces, hold-to-sprint and acceleration/deceleration for smooth ramp-up and roll-out.
- Wall-climb + mantle — climb walls/ceilings (W approach/up, S detach, A/D sideways) and pull up over top edges (or hop over slope tops) instead of dropping.
- Cinemachine orbit camera — mouse look, interpolated scroll zoom, smoothed orbit rotation, collision deocclusion.
- Animator hookup — drives a
Runningbool while moving on the ground. - Game mode manager — extensible state machine, switch with Tab:
- Player Control — move + mouse look.
- Paint — no movement, left-click paints, hold right-click to orbit.
Controls
| Input | Action |
|---|---|
| WASD | Move (camera-relative) |
| Shift (hold) | Sprint |
| Space | Jump |
| Mouse | Look / orbit camera |
| Mouse wheel | Zoom |
| Left click | Paint (Paint mode) |
| Tab | Switch mode (Player Control ⇄ Paint) |
Getting started
- Open the project with Unity 6000.3.11f1 (Unity 6).
- Open
Assets/Scenes/SampleScene.unity. - Press Play, move with WASD, press Tab to switch to Paint mode and paint.
Cinemachine (com.unity.cinemachine) and the Input System are resolved
automatically via the package manifest.
Project layout
Assets/Scripts/— gameplay scripts (PlayerCharacterController,MeshPainter,ThirdPersonOrbitInput,GameModeManager, modes,FrameRateLimiter).Assets/Scenes/—SampleScene(the playground).Docs/GAME_DESIGN.md— design notes and the full feature checklist (German).
Roadmap
See Docs/GAME_DESIGN.md for what's done and what's next
(color-picker UI, eyedropper, poses, seeker role, rounds, multiplayer).
Description
Unity mesh-painting game (Meccha Chameleon-inspired)
1.1 GiB
0 Stars
1 Watchers
0 Forks
Languages
C#
85.6%
ShaderLab
8%
GLSL
4%
HLSL
2.3%