Release FLATS 5.4.4 - #8
Merged
Merged
Conversation
…hair
- Touch players get a contextual Interact button (Swap / Pick up / Drop)
next to the action buttons; the long tap still works. Mobile prompts no
longer show the desktop key when a browser reports a mouse.
- Aim Sensitivity is a separate Control row ("Match camera" keeps the old
behaviour) stored as a personal preference and included in save transfer.
- Spectators get their own Menu button, so pause and Settings are reachable;
the player HUD stays hidden after closing pause.
- Enabling or disabling a crosshair module applies immediately, including a
crosshair installed during the session; other modules keep the restart gate.
- SafeAreaInsets keeps edge touch controls and the menu button clear of
notches; the HUD menu button has a larger touch target.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Holding the button no longer starts the long-tap grab, drop or grenade. The button is saved hidden and hides while control is suspended. The tutorial prompt follows the touch HUD on mobile browsers, and the crosshair help text notes that another active crosshair still needs a restart. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Extra Settings → Kill Cinematic (default ON). When OFF, headshot and mortal-shot kills show only the existing text notice (Headshot, Headshot Nx, Mortalshot): no slow motion, camera takeover, hidden HUD or locked pause menu. The kill still enables the singleplayer chance bonus as before. VIP and team-kill cinematics are unchanged because they end the round. The preference is included in save export and import. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The page's reading panel grows from 340 to 420 units (still within a landscape phone canvas), and the Kill Cinematic explanation fits one line, so the Language row stays inside the panel. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With Kill Cinematic OFF, the ragdoll still receives the kill impulse, a new kill replaces the previous notice instead of stacking it, and the notice draws above the gameplay HUD. Found in an independent review. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…cription The update panel described crosshair packages and module recovery, which belong to the mod catalogue, not to a game release. It now lists the 5.4.3 game changes only, in both languages. The built-in Custom Crosshair placeholder uses the same description as the published package. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The trail was a solid line from the muzzle. It is now resampled into evenly spaced segments with an Inspector-editable opacity curve. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Keyboard and controller bindings are each one scrolling list instead of two pages with previous/next buttons. Extra Settings returns to the shared panel size and scrolls. Lists open at the top, follow keyboard and controller selection (ScrollToSelection), and clip their theme-coloured controls (ClippedThemeGraphic) without losing the selected highlight. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Selecting an option reveals its whole row, explanation included. A partial seventh binding row and soft list edges show that the lists scroll, and the status line keeps clear of the list. The Language row follows language changes made elsewhere, the open-at-top reset no longer hides a control selected while the page opens, and scroll offsets stay within range. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Controller page: one sectioned list (button layout, look & sticks, feedback) beside a preview pane. Layout presets (Default, Tactical, Bumper Jumper, or Custom), binding a used button swaps it, per-axis look speed, response curve, stick deadzones with a live tester, vibration strength, button names for Xbox or PlayStation controllers, and LB/RB section jumps. Defaults keep the original feel. A white controller drawing matches the flat pink panels. Hover: menu buttons draw Selected exactly like hover and uGUI keeps a clicked button selected, so the highlight stayed after the pointer left. PointerFocusPolicy clears that selection while the pointer is in use and restores it on keyboard or controller input. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- The Dynamic curve is smooth: slope 1.4, 0.6 and 1.4 at the centre, the middle and the edge, with no jump at half deflection. - Auto deadzones keep the controller profile value across sessions. - The menu's controller focus watchdog waits while the pointer is in use, so it no longer fights PointerFocusPolicy when a pad is connected. - The controller drawing is larger and its marker small enough to point at one button. The D-pad points use measured positions. The arrow buttons have a larger touch area. The description stays inside the preview pane. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Art: one padding (24) and spacing grid for the binding lists, aligned label and control columns, single-line labels, quieter secondary text, section headers with an accent tick and hairline, a preview pane inset from the panel with a titled divider, the status line on the label column, and the footer backdrop reduced to the Restore defaults button it backs. Fixes from independent verification: the controller preview is hidden on the Keyboard / Mouse and General categories; the stick tester shows the stick before the deadzone; a list scrolling under a resting pointer no longer takes the preview from the selected option; binding names refresh when the controller family changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
All Settings pages now use the same 24-unit padding. Labels line up on the left content edge and controls on the right edge, or on the scrollbar. The controller list and preview share their top and bottom with a 24-unit gutter, and the first section title lines up with the preview title. Binding labels are centred unless a hint line sits below them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Game version 5.4.4 (Mod API 1.1.0). The What's New panel lists the 5.4.4 game changes in both languages, and the README points at the v5.4.4 player and source releases. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Move the remaining helpers out of Assets/Scripts/Assembly-CSharp. EasyTouch and Photon support types go next to that vendor code; FLATS helpers go to Runtime/UI, Gameplay and Platform. Metas move with them, so GUIDs are kept. - Move the URP global settings and default volume profile to _Flats/Settings/Rendering, and the GameInterface icon sprite out of Resources (it is referenced by GUID only). - Tag the inactive GlassRootOriginal(ForEdit) copies and the [Baking] Mesh Baker objects EditorOnly. They stay editable but are no longer built into players. Nothing references them at runtime. - Remove unused locals, the unused reset-mapping and news-URL fields, and the Windows Store (MetroPlayerX86) branches, which cannot run. - Document the map scene root layout and the names runtime code relies on. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Look speed no longer depends on frame rate: the right stick is scaled by frame time. At Normal sensitivity and 1x, a full push turns 180 deg/s and pitches 135 deg/s; holding it fully sideways ramps yaw to 1.6x when not aiming. Standard (exponential) is the default response curve. - Jump fires on press instead of release, and holding jump no longer sprints. Clicking LS / L3 toggles sprint until forward input stops or the player aims. - Default layout puts the grenade on RB. RB and LB are no longer hidden extra Fire and Aim buttons, and D-pad Up is no longer a hidden Scope button, so every action has exactly one button. Tactical keeps the grenade on B. - Menu: the stick moves focus at half deflection and repeats after 0.4 s (was 90% and 0.8 s). When focus is lost on the main menu it returns to the last focused tile instead of the first one. - Settings help texts, What's New and the project guide describe the new defaults. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A Bluetooth Xbox Series controller shows up in Unity's joystick list with an empty name. InControl skips every unnamed joystick on Windows, because that is also how Windows reports an empty slot, so the controller was ignored: the menu fell back to other input and gameplay never used the controller. Unnamed Windows joysticks now wait until they produce button or stick input, then attach with InControl's Xbox One (Windows 10 AE) profile, falling back to the older Xbox profiles. Empty slots never produce input, so they add nothing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
InControl's Xbox profiles read each trigger from its own axis and also from the shared 3rd axis (LT positive, RT negative), keeping the larger value. The Bluetooth Xbox controller reports the shared axis with the other sign, so pulling LT also registered RT and aiming fired. Unnamed Windows controllers now use a profile whose shared-axis trigger mappings switch off as soon as either separate trigger axis moves; the shared axis is used only by a device that never reports the separate axes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner-approved cleanup. Every file was checked for GUID references across Assets and ProjectSettings and, for Resources, for its name in C# strings. - 13 scripts no scene, prefab or code uses (LeaderBoardSample, Swipe, GameObjectExtensions, FPSPlayerControl, ForEdit, ImpactEffect, InputIP, SaveData, UICompatibility, CubeSelect, MoveScrollRect, SliderText, SystemText), the now empty Assets/Scripts folder, and mcs.rsp, which Unity 6 no longer reads. - 106 assets (about 6.3 MB): seven decompiled NavMesh assets superseded by OfflineNavigation, 76 orphan .state files and the clip only they used, and Resources files nothing loads (debug font set, GoodDog fonts, editor icons and colour ramps, shader-include stubs). Cube and OVRVolumeController in Resources stay: NetworkManager settings reference them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Every Xbox Windows profile, not only unnamed controllers, ignores the shared 3rd trigger axis once a device's separate trigger axes move, so LT can no longer register as RT on controllers that report the shared axis inverted. Unnamed controllers attach from a 30% stick push instead of 50%. - A resting mouse no longer switches gameplay from the controller back to mouse control; the mouse must move more than 3 pixels in a frame. - Menus choose the controller or pointer input module every frame. Before, the choice was made only while nothing had focus, and a controller press that restored focus left the pointer module handling controller navigation. - B closes the pause menu, like Start. Start no longer opens the quit dialog on top of the What's New panel. - While spectating, triggers and bumpers switch the watched player only when no menu is open. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The controller list said jump could be held to sprint and sprint was held. Jump now fires on press and LS toggles sprint, so the Jump row has no hint, the Sprint row reads 'Click to toggle', and both preview descriptions match. Touch controls keep hold-to-sprint and their tutorial text. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Binding capture read only InControl's active device. With a second pad attached, or one whose sticks drift, the active device could be another pad, so the new button and Start (cancel) on the pad in hand were never seen and capture never finished. Capture now waits for release on, cancels from, and binds from every attached pad. B or Esc now answers an open confirmation dialog with its cancel button, or the only button of an alert. Before, B did nothing while a dialog was open. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Returning from Information or Settings restored focus to Play: during the fade the remembered tile is briefly not interactable, so the first tile was chosen and kept. Focus now waits for the remembered tile and falls back to the first tile only when the remembered one is gone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Bumpers, stick clicks, the D-pad and Start count as controller input. InControl treats only the face buttons as buttons, while Input.anyKey also reports held joystick buttons, so holding RB or RS switched gameplay to mouse and keyboard: RB threw no grenade and RS did not toggle aim. - Menus have controller focus from the start. The cursor jump when the window is created (or regains focus) no longer counts as mouse use. - Returning to the main menu waits for the remembered tile while the tiles are still hidden, instead of settling on the first tile. - Pages built from the menu tiles (Play, Singleplayer...) start on their first tile instead of Back. - Input fields no longer start editing when focus lands on them, so the D-pad can move past the Mod center search box; A starts editing. The gamepad input-field helper also leaves editing on D-pad or B. - Confirmation dialog buttons show a visible selected and hover tint. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Singleplayer, Multiplayer and Play are built from the menu tiles, which are still hidden for a moment after the page opens. The focus watchdog chose Back in that moment, so A left the page. These pages now wait and select their first tile. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Pause starts on Resume (the Singleplayer pause shows it on the second tile). It started on Multiplayer, so A left Training for multiplayer. - The Settings category page waits for its tiles instead of settling on Back. A Settings page opened with a controller focuses its first option, and the Control page opens on the controller list at its first binding. - The controller input module no longer processes the mouse; the pointer module does. A resting cursor over a tile added a second hover highlight. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A capture that just ended waits for its button to be released. The row was captured again on the next frame, and that second capture recorded the disabled input modules as the state to restore, so the menu stopped taking input until a restart. Starting a capture is now ignored while the previous one is releasing. The 'Press a button...' prompt is translated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The EventSystem keeps calling its last input module even when every module is disabled, and a disabled module stops updating its button state. The A press that opened a capture therefore submitted to the row every frame, so each capture restarted as soon as it ended. Navigation and submit events are now off from the start of a capture until its buttons are released. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- While a keyboard or controller is in use, a thin frame follows the focused control. Menu, dialog and Mod center buttons draw with theme materials that ignore the Selectable tint, so controller focus was often invisible. The frame sits on its own overlay canvas and tracks the control's screen rectangle; it never becomes a child of authored UI. Colour and width are on PointerFocusPolicy. - The main menu and the Settings categories share the same tiles. The main menu now only remembers tiles chosen on the main menu, so returning from Settings focuses Settings instead of the tile in the same position. Settings remembers its own category for returning from a page. - The cursor jump on window creation or refocus is ignored for half a second instead of three frames, which was sometimes too short. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The cursor-jump grace period started in OnEnable, during the scene load, and had often ended before the first frame ran. The jump when the window appeared then counted as mouse use, so the main menu showed no focus and the first controller press only restored it. The grace period now starts at the first update after enabling or regaining focus and lasts at least ten frames and half a second. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merges the FLATS 5.4.4 release source into
main. The release is built from5ba498eand taggedv5.4.4.What changes for players
EditorOnly.Validation
5ba498e; Android is release-signed.🤖 Generated with Claude Code