Release Highlights
Performance improvements!
We've been testing a lot more older computers for this release. We're especially pleased to announce the 'big loading stall' (the infamous Issue 1135) affecting a few users appears to be finally fixed! But we've done significantly more testing on older computers, with a focus on crowd scenes. We still have more work to do here, but loading in general should be snappier, and default performance settings should be friendlier for those who don't have gaming computers; our mobile test viewers are now regularly getting 60fps using the new Dynamic Resolution feature, which we've also brought back for desktop users. We've also introduced a new frame cap as well - so you can run Sinespace and other applications together in a much more friendly manner, or without heating up laptops. We've also introduced a number of improvements for memory allocation, sensibly reducing texture sizes and such when in crowd scenes with over 20 avatars.
Going forward, maintaining performance is going to be easier thanks to the new built-in autoprofiler we've built - this tool in special staff viewers lets us get useful actionable reports on performance problems automatically, giving us insights into what is causing performance problems as they happen.
Stability fixes!
Thankyou to everyone who has been sending us crash dump files - we've been able to diagnose and fix many of these, we've also integrated a whole new set of tools for diagnosing faults, including a new error handler which automatically reports (with your permission!) when something has gone wrong with the viewer and uploads crash reports back to us, including a new analysis backend which analyses those dumps for us automatically. We're hoping this will let us get a better handle on crashes going forward, and makes the process much easier to report; meaning faster fix turnaround times.
Shop Improvements
Performance has been improved while scrolling and loading considerably. We've also introduced a new featuring ability, so both staff (and soon creators) can create lists of items in categories and specific search keywords that show up as you browse. These use the same system as the shop homepage has for the past few months, so we can make complex detailed subcategory pages highlighting things we think are impressive. We've built this with creators in mind as well - so soon creators who have released content for silver will be able to burn off some of the vast quantities they own booking featured placements.
We've also given the role of 'Shop Manager' to a staff member - so we'll be doing daily and weekly features and placements ourselves as well once this viewer reaches the live servers. A post is coming soon on how this will work in practice.
Room Editor Improvements
We're still rolling these out, however we have the new Voxel Terrain Editor ready for when we turn it on (this is requiring a backend bugfix before we can enable it), a new Parcel Editor (more on this in a future post), new placement and scattering tools, a new Sky Editor for editing the environmental settings, a UX cleanup pass on many features. There's some more than missed the cutoff for 2b34, but will be coming soon.
Bounced Lighting
We've introduced a Screen Space Temporal Ray Traced Lighting Engine into Sinespace. This feature requires either a discrete mid or high-end GPU (no RTX requirement however!), or using the new dynamic resolution feature. This calculates lighting in realtime (so it works nicely with moving objects, the room editor, and other dynamic elements!) so you get richer, more accurate shadows and light sources. It works particularly nicely with HDR emissive surfaces. Some screenshots might help!
The effects are more dramatic on scenes without any baked lighting, or built using the room editor exclusively such as the following:
Known Issues
These will be fixed or worked around prior to release, but are known issues in the preview version
-
Gray-er Textures: We're seeing a case where some textures are loading in 'slightly gray' - we're investigating this currently and have narrowed down the cause. We believe this may also be affecting smoothness maps on certain textures as well.
-
The Chat Design Needs Improvement: We know. We'll tighten this up a bit, but keep the new benefits (i.e.improved performance)
-
Lightmap Corruption: Runtime lighting - scenes baked in earlier versions of Unity using Enlighten/Runtime Lighting may end up with corrupted ambient light / reflections; resulting in "very broken rendering".
-
Substances: we have transitioned to the new Substance plugin from allegorithmic - we're finding that there are some issues with compatibility with earlier versions, if you are using this, please test your content and report any faults. (Some issues may be fixed automatically in the Unity 2019.4 upgrade)
List Of Changes
Viewer Features
-
Engine: Upgrades from Unity 2017.2.5 to Unity 2018.4.18
-
Substances: Switched to Substance plugin (please report errors with the plugin!)
-
Dynamic Resolution: The main viewport resolution can be resized independently of UI resolution, allowing you to improve performance on older computers without losing substantial image quality, or allowing older computers to turn on higher-end effects, particularly on large / high-DPI monitors. (Reducing by 33% will typically double your framerate if fill-bound)
-
Sky Editor: Added the ability for region owners to override sky settings.
-
Lighting: Added screenspace temporal raytraced lighting engine, note this mode requires a mid level or higher discrete graphics card for acceptable performance (enabled as ‘bounced lighting’ in the settings, default is off). Does not require RTX or DirectX Raytracing to work.
-
Animations: Added turn left/right animations to animation rig for certain requests.
-
Animations: Turning animations can now be overridden in custom AOs without embedding a whole animation controller.
-
Screenshot tool: Added special high-definition mode that renders each frame 100 times from slightly different angles and composites the results, providing high quality depth of field and lighting in the resulting image. Currently hidden behind the chat command '/hd' - be aware this will reduce your framerate by around 99% while enabled. (The screenshots are very pretty though!)
-
Skins: Enabled 4K skin/tattoo layers, if you have a high-end system and have High quality skin shading enabled.
-
Patterns: Enabled 4K materials
-
Room Editor: Added new room placement window, replaces the old inventory window when in room edit.
-
Room Editor: Added Sort By Name, Sort By Date and search box in the inventory window under room edit.
-
Inventory: Inventory is now using pooled scroller – speeds up scrolling when there are thousands of items in the selected category
-
Shop: Shop now uses pooled scroller, scrolling through thousands of items is now much higher framerate.
-
Shop: New Featured panels available. Search terms, categories and other elements can have new “Featured” panels inserted into them. Panels are initially going to be managed by staff, with creators soon able to book them for large quantities of silver.
-
Room Editor: Added new scatter, drop, scatter drop placement tools in room edit.
-
Parcel Editor: Initial implementation of the new parcel manager.
-
Shop: Shop window page method performance improvements.
-
Profiles: New user profile screen.
-
Friends: Added a friend online notification.
-
Voxel Terrain: Adds new voxel terrain painting system
-
Voxel Terrain: Added Post processing profile option for water in Voxel terrain.
-
Voxel Terrain: Terrain details (tree's etc) for Voxel terrain have been reworked to encourage more flexibility.
-
Inventory Painter: Restores inventory painter to working order Removes layers, adds painting mode. Inventory painter now also works on furniture.
-
Shop: Shopping Cart function added to the shop window.
-
Controls: Third person and mouse look can be switched by tapping the Y key.
-
Audio: More sounds added for UI audio.
-
Chat: Chat system changed into a bubble style to avoid issues with resizing and increase performance by using new pooling system. (Note: this is going to be trimmed as it’s currently too large)
-
Server Scripting: API can now check if script is running on the staging server.
-
Scripting: Script name can be queried from Scripting Runtime.
-
Mobile/WebGL/Limited Memory: Warning added when loading large regions.
-
Shop: Added a gender filter in the clothing page of the shop window allowing you to switch clothing gender without the need for switching your avatar.
-
Loading: Added new 'Lite' shader to replace the heavier 'Standard' shader. Lite variants are designed to be embedded into the viewer itself saving filesize and decreasing load times for content.
-
Room Editor: Added Shift multi-selection in room editor hierarchy.
-
Room Editor: Hierarchy and Inspector windows have had a UX cleanup pass
Viewer Fixes
-
Shop: Shop window item clipping no longer occurs. Previews will display items fully.
-
Localisation: Translation updates.
-
Tips: Replaced the close button on the tips/donate window.
-
Animations: Animation cache is now cleared when you leave seat improved pose, preventing glitch-poses.
-
Shop: Sort Type will not change when a category has been selected.
-
Screenshot tool: Screenshot tweaks and improvements to metadata.
-
Shop: Fixed an issue where the search function was not working.
-
Shop: Shop preview will now load patterns by default on patternable attachments.
-
Highlight Effect: Graphical improvements to the highlight image effect, effect will now use more VRAM but will not write the data into the main graphics buffer, this fixes a number of tiny graphical errors.
-
Explore Window: Explore window will no longer show previous region images while a new one is loading.
-
Freeze Detection: Addition warning logs added when various potential freezes happen.
-
Texture Loading, Stability: Allow true multithreaded texture decoding, removes dependency on the DIL decoder which was causing crashes.
-
Loading: Fixes to CDN requests.
-
Loading: Fixes to resource loading.
-
Outfit Window: Fixed an issue where some clothing may disappear in the outfit window when put on.
-
Shop: Improved shop scrolling speed when using mouse wheel.
-
Room Editor: Added furniture placement sound effect.
-
Room Editor: Built-in furniture now works, improved handling of region 'built in' furniture.
-
Cache: Inventory icons are cached better.
-
Clothing: Fixed the problem where low LOD can’t be occluded when clothed mesh is used.
-
Crash: Fixed crash experience during loading of textures using native decoding.
-
Outfit Window: Fixed Outfit window save button not interactable when switching saved outfit.
-
Loading: Loading screen aspect correction improvements, preview image will envelope the screen.
-
Scripting: Lua scripts were not resetting properly, resulting in rouge coroutines and carried-over function calls.
-
Room Editor: Fixed inventory loading issue when region has broken built-in furniture.
-
General: Individual windows can now display 'Loading...' instead of being modal across the whole UI.
-
Scripting: Scripting runtime components that have been edited in the room editor should no longer randomly fail.
-
Quests: Fixed an issue where when you are “in control” and click a quest NPC the quest UI wouldn't show.
-
Room Editor: Fixed an issue where placing a furniture item containing a clickable activator or script would shoot the furniture item into the avatars face.
-
Profile: Profile window bug fixes and improvements.
-
Room Editor: Added region template category to the inventory window when opened in room edit.
-
Profile: Disable inspect avatar button when target is not in the region.
-
Outfit Window: Skin bumpiness will now save properly.
-
Textures: Fixed white materials bug on OSX.
-
Profile: Replaced comments for user pictures.
-
Crash: Fixed a crashing when no UI audio is available.
-
Room Editor: Fixed an issue where furniture placement failed to register the furniture into the floor data.
-
Profile: Fixed an issue where when wearing long hair, it will be cut off in your profile image.
-
Room Editor: Fixed region capacity not being displayed correctly in the room edit window.
-
Room Editor: Hitting the delete key while selecting part of the base room template, will disable the selection instead of doing nothing.
-
Localisation: Language selector will now be removed if the language is set to a specific language.
-
Scripting: Fixed an issue where starting a coroutine inside a coroutine causes problems.
-
Animations: Fixed an issue where wearing shoes with heals would cause the avatar to be raised in sit poses.
-
Shop Window: Single item vendors will now work correctly when the shop window is not already opened.
-
Quests: Fixed an issue with the branching quest dialogue not working correctly.
-
Quests: Branching quest steps will now work immediately if no destination NPC is set.
-
Video: Fixed YouTube videos not playing in media player.
-
Video: Videos will no longer stutter after they have been paused and resumed using the EmbeddedVideo component.
-
Collider Activators: Collider activator now respects OwnerOnly/ExcludeOwner for vehicles passing through it, not just avatars.
-
Clothing: Loading of clothing items improved to help stop freezing of the viewer. (Issue 1135 – Thankyou Spiral, Dixie for your help diagnosing)
-
Clothing: Fixed an issue where clothing with LOD's can’t show customisations such as color picker, blend shapes etc.
-
Vehicles: Fix for networking errors caused by modular vehicles being in a scene.
-
Shop: Fixed an issue where previewing furniture/vehicle items in the shop window and selecting another item before loading is finished, would result in the first item being shown on top of the other.
-
Chat: Fixed a small issue with the scroll bar in the chat window.
-
Mail: Mail window can now be launched with attachments.
-
Shop: Adding 'Buy as gift' functionality to the shop window. (Note: enabled in next release)
-
Seats: Seats should now be usable if the avatar sitting on them leaves the region without standing up.
-
Seats: Seats should no longer get out of sync between viewers, resulting in avatars appearing to be standing up.
-
Memory Use: Fixed a memory leak during avatar loading caused by skin textures.
-
Memory Use: Added memory saving measures to crowded scenes (>20 avatars or npc's).
-
Animations: Fixed an issue where another avatar does not return to idle animation after riding a vehicle.
-
Profiles: Fixed an issue where photo owners cannot delete comments.
-
Animations: Avatars will now return to default animation controller on standing up from a seat.
-
Shop: Fixed an issue in the shop window where wearing a costume then previewing another would result in nothing being shown.
-
Room Editor: Fixed an issue that when too many items in a scene (over 500) the placed furniture would not be shown.
Editor Pack Changes
-
Controls: Y key should no longer toggle avatar root motion on/off in EP play mode.
-
Scripting: Added SAnimator.ApplyRootMotion boolean.
-
Import: Added a tool for importing a unitypackage directly.
-
Post FX: Added “custom effect” type to post processing stack, this allows you to be able to slot in your own custom material and render custom post processing shaders meaning custom PostFX no longer require whitelisting.
-
Regions: Added DisableFreeTeleports to scene options, if ticked the user can only arrive at the nearest landmark when teleporting into a region (effects all teleports, including scripted).
-
UI: Added MirrorText component which copies one text component into another automatically.
-
UI: Added SizeBasedDisplay component which shows/hides UI components based on the width of the parent element.
-
Virtual Goods: Added PreferredGender field to the virtual goods component.
-
Scripting: Added custom web header to SWebservice calls.
-
Bundles: New virtual goods bundling tool in Sinespace/virtual goods menu.
-
Scripting: Space.PlatformName accessible to Lua scripts.
-
Scripting: ExcludeObject component updated to allow replacement based on operating system as well as platform. (Intended for HOWTO/Control boards so you can show appropriate messages in signage)
-
Shaders: Added AutoModifyShaders tickbox to virtual goods, used to auto migrate usage of the 'standard' shader to the ‘lite’ variant and others.
-
Scripting: Added SAvatar.LockObject to get any object that the avatar is attached to (seats, vehicles etc)
-
Scripting: Added GetLoop and GetLength to SAnimator.
-
Patterns: Pattern system – flexible patterns now available. These allow you the user to select between patterns on an individual material basis instead of only one selection for the whole object.
-
Materials: Added ShaderPort – A new framework for porting shaders and materials between Legacy, Standard, HDRP and UWP shaders automatically; currently being used for porting to the new ‘Lite’ shaders.
-
Virtual Good: Virtual goods editor now remembers which tab you have selected when flipping between virtual goods.
-
Normal Maps: Fixed an issue where Y was flipped when loading normal maps via the non-material driven pattern system.
-
Uploads: Fixes to uploading when using Unity 2018.4
-
Furniture: Furniture tool will use convex colliders by default.
-
Furniture: Improvements to convert-to-furniture, positions will now be set correctly when placed.
-
Screenshot Tool: Fixed an issue with the screenshot tool not working correctly on some objects.
-
Screenshot Tool: Screenshot tool now works for clothing items.
-
Furniture: Added new PlaceBottomOnGround checkbox to room furniture which auto calculates the height offsets in the viewer to ensure the item is placed on the ground as expected.
-
Patterns: Removed redundant pattern component, should be extra pattern only.
-
Scripting: Errors in the script network callback handler give more sane errors.
-
Clothing: Fixed an issue with the prepare button not working.
-
Landmarks: Prevent Editor Pack from s pawning multiple player avatars when there are multiple conflicting landmarks in a scene.
-
Scripting: Added an optional string argument to ScriptingRuntime.CallScriptFunction (“method”, arg1, arg2, ...).
-
Virtual Good: 'Available Elsewhere' is now default in Virtual Goods component.
-
Skins: Fixed an issue in the skin system where specular skins would not work.
-
Scripting: Added script location to console debug output for nil reference exceptions.
-
Scripting: Space.Dialogues.SendLocalChat will no longer cause exceptions in the editor.
-
Scripting: Fixed on issue on SGameObject.GlobalID that could result in null key on non-root objects.
-
Scripting: Added SGameObject.SetAsFirstSibling / SetAsLastSibling.
Mobile Features
-
Performance: Addition settings added for Mobile viewers.
-
Performance: Added dynamic resolution for mobile viewers.
-
UI Scale: UI scaling can now auto change with screen width (mobile).
Mobile Fixes
-
Clothing: Fixed an issue where LOD causes cloth occlusion problems on mobile.
-
Clothing: Fixed an issue where unwanted skins were not deleted on mobile.
-
Login Screen: Fixed mobile register screen, when an avatar template is selected temporarily disable its clickable component to avoid issues.
VR Changes
-
UI: Added VRBackground prefab that appears behind the main UI in VR.
-
UI: VR Cuffs now reload after changing your outfit.
-
Leap Motion Support: Fixed an issue where LeapMotion toggle would not stay on.