Check out the June Update dev blog to read everything!
Changelist
🎁 Added
- ::before and ::after to UI
- New Prefab Instance System
- Screen Space Reflections component
- Dresser component - makes dressing avatars easier
- Scene.FindInPhysics( Frustum )
- Scene.Get<T>()
- SequenceAccessor.Blending
- ITagSet.GetDefaults
- ParticleEffect.RealTime
- Panel.SetRect
- Plane.ReflectPoint
- Plane.ReflectDirection
- CameraComponent.BBoxToScreenPixels
- Bitmap.Size
- DebugOverlaySystem.Texture (draw texture on the screen)
- Transform.Mirror
- Application.OnWidgetClicked
- Graphics.CameraTransform
- Graphics.CameraRotation
- Graphics.FieldOfView
- Renderer CommandList wrappers
- Renderer.ExecuteBefore (command list, executes before rendering object)
- Renderer.ExecuteAfter (command list, executes after rendering object)
- CommandList.DrawReflection
- CommandList.DrawRefraction
- CommandList.DrawRenderer
- CommandList.DrawView
- CommandList.Attributes.Set( bool )
- CommandList.Attributes.SetCombo( bool )
- CommandList.GlobalAttributes
- Texture.Clear( Color )
- TextureBuilder.WithInitialColor( Color )
- Vector3.Dot( a, b )
- [FilePath] attribute for string properties
- accessors and constructor to Matrix class
- Matrix.CreateObliqueProjection
- Input.Suppressed
- Gizmo.Draw.Sprite angle parameter added
🧼 Improved
- Editor theme improved - new font, color scheme and many tweaks
- Shader memory layout changed to drastically reduce stuttering
- Time classes internally use doubles for improved precision
- Video Recording has been greatly improved for stability and speed
- Human female🙍♀️ models look a lot more female
- GPU -> CPU readbacks use cached memory improving speed
- VR gets it's projection matrix from the headset directly
- Updated Roslyn - your games will generate more optimized code now
- GameObjectReference serialization for prefab properties
- Create GameResource Save button when using a customer inspector
- Improved aspect ratio in asset browser thumbnails
- Select prefab/network root when selecting object in viewport
- Prefab instance UX improvements
- Rebuild model hitboxes on renderer model change
- Optimized NetworkTable causing excessive delta snapshot GC
- Cameras rendering to textures use a HDR texture and matching MSAA
- Make sure Screen.Size is correct on scene startup
- Component Eye Dropper can be used directly on Components in the inspector
- GameObject Eye Dropper can be used on Prefabs in the Asset Browser
- GameObject & Component Eye Droppers can be used on other GameObject/Component properties
- Load system scenes on any non-additive scene load
- Creating a new project or opening a Sample Project will now correctly show the "LAUNCHING" text
- Sample Projects no longer create duplicate entries in the Launcher when opened manually
- NetworkFiles includes stuff on resource paths
- Mixer Handles now support multi-edit
- Can now unlink multiple prefabs at once with multi-select
- Can apply/revert prefab instance changes with multi-select
- Unsaved changes dialog prompt for resources
- Update Skin shader with tint and age sliders
- Steam Audio update (4.5.2 -> 4.6.1) and static linked
- RenderTextures are cleared to magenta by default (to spot errors more easily)
- Updated to SDL3 and gamecontrollerdb.txt
- UI textures are mipbiased to avoid being blurry
- Allow modifying the transform of the prefab root
- Project settings UX improvements
- Whitelist JsonStringEnumMemberNameAttribute
- CameraComponent.RenderToTexture takes a ViewSetup allowing overrides
- Yoga config uses UseWebDefaults
- HudPainter.DrawLine uses SDF shape for much smoother lines
- Exposed and documented ImageFormat
- Whitelisted many requested types including BigInteger, Complex, Task.Is*, ReadFromJsonAsync and more..
- GameOverlays use a viewport z-slice instead of an additional depth buffer
🪛 Fixed
- Intel Integrated Graphics no longer crash on startup, device limitations are checked on startup now
- SpriteRenderer crashing trying to render on dedicated servers
- UI no longer renders over the Scene tab in the editor while in play mode
- Various security exploits reported on HackerOne
- MusicPlayer crashes
- Razor elements now play :outro properly
- WantsFrameBufferCopy doing nothing outside of regular models
- Navmesh links triggering when not active
- SceneCamera.GetFrustum returning nonsense on ortho cameras
- Scene not being pushed before several prefab related editor actions
- Scratch depth buffer not matching scratch color dimensions
- UI corners being misaligned
- UI sometimes getting 1 pixel gaps between panels
- SetMaterialOverride( null ) not clearing any overrides
- Prefab Root context menu giving options that resulted in error
- TreeView not completing a SHIFT+CLICK action when the first item was selected outside of the tree
- Locate Prefab option now always appearing when you'd expect it to
- Depth-aware mask NaNs
- Label scissoring with WorldPanels(https://files.facepunch.com/matt/1b2311b1/after.gif)
- Model renderer local bounds being wrong
- Fix rotated off-center box trace
- Null GameResource icons preventing editor start-up
- Blending mode on translucent objects, default alpha blending mode additive
- Missing project settings button on asset projects
- Input binds not saving
- Dedicated server crashes when trying to use lobby methods
- Error when in Eye Dropper tool of a list entry and the entry in the list is removed
- Fixes a discrepancy between the hashed identity of TypeLibrary methods and MethodIdentity in WrappedMethod from CodeGen when the method is on a class contained within another class
- BytePack struct serialization
- TypeLibrary is disabled during cctors / package load
- Context menu on normal files in the Asset Browser
- Error when multi-selecting an asset and a normal file in the Asset Browser
- Flickering when dragging material on to scene mesh
- Tooltips linger when mousing out of a tooltipped pannel
- Depth Linearization in Oblique Matrices
- Crash in CSceneAnimatableObject::MergeFrom
- [Button] not showing if not returning void
- Fixed menu addon not loading in editor (due to whitelist)
- ISceneStage spans the wraps the entire scene update, not just OnUpdate
- Prevent EditorUtility.RenameDirectory making a directory a subdirectory of itself
🚯 Removed
- Legacy particle system - legacy particles will no longer render
- Prefab variables
- Deleted many unused DLLs reducing the game size
- Removed unstable GPU shadow culling
- NativeRenderingWidget now doesn't render without a scene
- Graphics.RenderToTexture (use CameraComponent.RenderToTexture)
Changed files in this update