Skip to content

UberUnity client: authentic movement + Unity 6 fixes (local fork upstream)#28

Draft
constripacity wants to merge 3 commits into
mainfrom
uberunity-no-errors
Draft

UberUnity client: authentic movement + Unity 6 fixes (local fork upstream)#28
constripacity wants to merge 3 commits into
mainfrom
uberunity-no-errors

Conversation

@constripacity
Copy link
Copy Markdown
Member

@constripacity constripacity commented May 30, 2026

(Reopened from #27 after the branch was renamed to uberunity-no-errors.)

Upstreams the local UberUnity working fork. Heads-up: this is a large diff UberUnity's working code had never been pushed, so this branch carries the full local state (Cmune SDK, maps, baked lighting, plus the gameplay/network fixes that made maps load + players join) on top of which today's tested changes sit. Build output (/Latest/, 538MB) and .bak backups are excluded (and /Latest/ is now gitignored).

Headline tested changes (today)

  • Authentic player movement PlayerMotor now uses the real UberStrike 4.7.1 movement model (Quake-style accel/friction, ported from uber-4-8-6 branch uber471-unity465 / CharacterMoveController): walk 7.6, jump 15, gravity 50, ground/air accel 15/3, friction 8, clamp 22.8. Restores proper strafe-jump / bunny-hop feel. Feel-tested in-game.
  • FPS cap ApplicationOptions caps framerate at 200 (was -1/unlimited, which pegged the GPU).
  • Unity 6 build fix (MK Glass shader) gate UNITY_TRANSFER_FOG/UNITY_APPLY_FOG behind UNITY_VERSION < 201800 to fix the invalid subscript 'fogCoord' build error.
  • Build scene-list fix include Apex_Twin so Catalyst lands at its expected build index (client loads maps by index + 3).

Verified this session

Standalone build succeeds; client boots, logs in, creates a Catalyst match, two clients see + kill each other; movement feel confirmed good.

constripacity and others added 3 commits May 30, 2026 12:50
…maps)

Safety snapshot of ~497MB of previously-uncommitted working-tree work that
lived only in the local main tree:
- Gameplay/networking fixes (Client, NetworkAvatar/Player, TcpEngine,
  PlayerMotor/Manager/Input, weapons) that fixed map loading + players
  not being able to join.
- Full Assets/Plugins/Cmune SDK source tree.
- 15 new map scenes + baked lightmaps.
- New editor/gameplay scripts (MapPopulator, SetupBootstrapScene,
  Compatibility fallback shader, PlayerDataOriginal, TeleportOriginal).

Excludes 718 *.bak backup files. Local-only branch, not pushed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ixes

- PlayerMotor: port the authentic UberStrike 4.7.1 movement model (Quake-style
  accel/friction from uber471-unity465 CharacterMoveController) - walk 7.6,
  jump 15, gravity 50, ground/air accel 15/3, friction 8, clamp 22.8. Restores
  proper strafe-jump / bunny-hop feel the reverse-engineered motor lacked.
- ApplicationOptions: cap framerate at 200 (was -1/unlimited, which pegged the GPU).
- MK Glass shader: gate UNITY_TRANSFER_FOG / UNITY_APPLY_FOG behind
  UNITY_VERSION < 201800 to fix the Unity 6 'invalid subscript fogCoord' build error.
- EditorBuildSettings: include Apex_Twin so Catalyst lands at its expected build
  index (CreateGamePopup loads maps by index+3; trimming desynced it).
- gitignore the /Latest/ standalone build output (538MB).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CreateGamePopup loads maps by SceneManager.LoadSceneAsync(mapIndex + 3),
so a map only loads if it's in the build scene list. Only Apex_Twin +
Catalyst were enabled, so every other map failed to load. Enable all 15
particle-clean maps at their original indices (3-17). The 3 legacy-
ParticleRenderer maps (CuberStrike/GhostIsland/Volley) stay disabled --
they don't load and break Player builds until their particles are converted.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@constripacity
Copy link
Copy Markdown
Member Author

For easier review, I split out the logic-only changes (29 files, ~700 lines) into #29. This PR (#28) stays as the full-fork import — the bulk here is the ~7,172 newly-added asset files (maps, ripped meshes, materials, lightmaps) that upstream main never had, not a corrupted diff. Suggest reviewing the code in #29; keep #28 for the asset import (or rework it into an assets-only drop once #29 lands).

@constripacity constripacity marked this pull request as draft May 30, 2026 20:58
@constripacity
Copy link
Copy Markdown
Member Author

Marked this draft so the logic lands first via #29 (the ~700-line code-only subset). Once #29 is reviewed/merged, I'll rework this into an assets-only import (maps, ripped meshes, materials, lightmaps) and mark it ready.

constripacity added a commit that referenced this pull request May 30, 2026
These are new files (not edits to existing ones) authored alongside the #28 work,
so they weren't in the initial code-only carve-out. Adding them makes this PR the
100% set of code we authored, not just code we edited:

- Assets/Editor/SetupBootstrapScene.cs   — editor menu tool to build the bootstrap scene
- Assets/Editor/MapPopulator.cs          — editor tool to place spawns/pickups/death areas
                                           from the UnityPy-extracted original level data
- Assets/Compatibility/ImageEffects/UberUnityFallbackImageEffect.cs (+ companion .shader)
                                           — Unity 6 fallback for the legacy bloom/flare image effect

Includes the .meta GUID files so the scripts/shader resolve in-editor.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant