Devlog/FPS Lab

FPS Lab 0.7.7 Updates

FPS Lab v0.7.7 3 min read
FPS Lab 0.7.7 Updates

Avatar View: place a viewmodel against what the player sees

Prefab Mode got a new toolbar toggle. With it on, the camera preview no longer shows a selected camera object — it looks through the player's eye: the stage origin is the eye the weapon hangs off, framed with the avatar's viewmodel FOV. That is exactly the picture a weapon prefab is authored against, so you can place a gun by looking at it instead of guessing and hitting Play.

The missing half of that: a prefab's authored root position is now kept when it is saved, and the viewmodel instantiation reads it back. Before, the offset a weapon was placed with relative to the eye was quietly reset to zero — the one place where that offset is the whole point.

Textures are no longer upside down on primitives

The UV convention is now written down and enforced everywhere: V grows downward — v=0 samples the image's first row, which is its top. Nothing flips the load, so every generator (box, cylinder, cone, caps included) had to follow, and the importers already did (the FBX/OBJ paths flip their V-up source, glTF needs none). Locked in by tests.

Hierarchy: real multi-selection

single undo step. Grabbing anything else drags just that row and leaves the selection alone. Drop targets outside the tree (an Inspector object field) are unchanged.

Can Run / Can Jump

The FPS Avatar gained two whole-ability switches, not just tuning numbers. A walk-only avatar — survival horror, a walking sim, an old-school shooter with no jump — turns them off and the controller ignores the Sprint / Jump actions entirely. The tuning values stay authored (the sliders grey out but keep their numbers), so the ability comes back exactly as it was, and the avatar illustration stops drawing a jump apex the player cannot reach.

Scripts can take an ability away and give it back at runtime — exhaustion, a cutscene, deep water, a story beat:

Stop restores the authored values with the rest of the play state. Old scenes load with both abilities on, exactly as they behaved before.

Shader graphs: Screen Size

New input node in both the material and post-processing graph editors: Screen Size — Width, Height and Aspect. It is what an effect needs to know how wide a screen pixel is: pixel grids, letterboxing, anything that must survive a window resize. Live in post effects and in material graphs alike; the CPU preview stands in with 16:9.

Level Modeller maps: multi-page lightmaps

A big level's lightmap does not fit one texture at a usable texel density, so the atlas is split into pages. The .lmmap importer now reads the page list, resolves one baked sidecar per page, and treats the page as part of the material slot key — two draw groups sharing a texture and a color still land in different slots when they sit on different pages, otherwise half the level would sample the wrong ightmap. Older single-page maps are read unchanged. Covered by a new test.

Get FPS Lab Comment on itch.io FPS Lab overview