RIDE - 0.7

Overview

Details new changes made since the previous release of the RIDE platform to external collaborators and developers.

Page Contents

Release Notes – 0.7 (June 2022)

We are thrilled to announce our latest release of RIDE, version 0.7!  Please read the below Release Notes and related changes for this version.

IMPORTANT

In order to access Terrain datasets, you must have a terrain key.  Please contact us directly in order to acquire a key.

If you wish to use the ExampleNLP scene and related web services, you must update your local RIDE config file (ride.json). Please back-up any local changes to the file, including your terrain key. Next, restore your Config to default using the corresponding option in the Config debug menu at run-time, then reapply any customization and terrain key. Refer to the Config File page within Support for more information. 

Agents

IMPORTANT

Agent speed now set to 5 m/s on military and civilian prefabs, deriving from BaseCharacter.prefab. Please review any custom scenes in your projects for hardcoded agent speed values that may need adjustment.

  • Created M203 agent, ChrUsaArmyInfantryAcu01PrefabDataMonoM203.prefab.

A* Pathing

  • Fix for “array too small” bug when updating A* graph on large terrains.
  • Fix for agents moving extremely slowly using A* movement system.
  • Reduced sharp path changes in A* agent waypoint based paths.
  • UnityAStarMover’s maxSpeed no longer references RichAI maxSpeed to be in line with how NavMeshAgents maxSpeed works.
  • By default, scenes utilizing UnityAStarMovementSystem no longer render A* nav meshes to the Scene window in order to save CPU/memory resources. Enable rendering of nav meshes by clicking the “Show Graphs” option in the Inspector of the UnityAStarMovementSystem object under the RideSystems prefab.

Battle Drills

  •  BattleDrill_CoverAndConcealment; in-progress updates to events sequence, fog density, added cover related events, cover state triggers.

Behavior Tree and State Machine

Note, the changes below are in preparation for an upcoming hybrid finite state machine and behavior tree AI authoring toolset.

  • General refactoring of behavior tree and state machine for authoring tool.
  • Added support for BT within FSM.
  • Added minor helper functions to RideBehaviour.
  • Added string variable in the BTNode class to store GUID created from the authoring tool.
  • Make AgentStateMachine derive from StateMachine instead of AnimationStateMachine.
  • Modified and enhanced Actions for compatibility with experimental Behavior Tree tool.
  • Removed any animator-related code from StateMachineUtils. (This change removes ExampleStateMachine scene’s functionality.)

Non-Verbal Behavior Generator 

  • Created microservice for NVBG used in Virtual Human authoring.
  • Replaced ExternalProcessNVBG with NonverbalBehaviorGeneratorSystem.

Level Select (Standalone or full-source distributions only)

  • Added BattleDrill_CoverAndConcealment to Featured listing and new ExampleTimeSimulation to the Tutorials listing.
  • Removed “RIDE_BurstDebugInformation_DoNotShip” sub-folder.
  • Fix for wrong variable name in ExitPromptMenu when using mobile device.

Prefabs

  • Added base SimpleCharacterPrefabDataMono prefab.
  • Added new simple SelectableCharacterPrefabDataMono prefab.
  • Added new simple InventoryCharacterPrefabDataMono prefab.
  • Added new simple FollowingCharacterPrefabDataMono prefab with “Follow” behavior.
  • Added new simple PatrollingCharacterPrefabDataMono prefab with “Patrol” behavior.
  • Added new simple WanderingCharacterPrefabDataMono prefab with “Wander” behavior.
  • Added new UnityWeatherSystem prefab, includes WindZone component.

RIDE Dependencies

  • Photon – Updated Photon Voice 2 to version 2.31.
  • Photon – Updated PUN2 – FREE to version 2.40.
  • Newtonsoft Json – Added Newtonsoft Json as native Unity UPM package; removed original 3rd party dependency.
  • AssetUsageDetector – Updated to version 2.2.1.
  • AstarPathfindingProject – Removed [InitializeOnLoad] attribute on AstarUpdateChecker class. Disables Astar from being initialized on every scene.
  • StandaloneFileBrowser – Added ShellFileDialogs.dll. This is a replacement for needing Windows.Forms as a dependency. The .meta has been configured to only load .dll under Windows platforms.
  • vhassets – Disabled line “#define UNITY_SETUP_BRDF_INPUT MetallicSetup_AGDecal” to prevent obscure shader error commonly observed upon Unity editor startup after library rebuild.

RIDE Systems

  • GameObjectSystem now auto-adds ConvertToRide script to all RideUnityDataBootstrap DataMono objects upon initialization (creators no longer required to add that script to all DataMono entities).
  • Modified narrators in interpretation system to enable prologues and epilogues, and to automatically update the narrative after every incremental change to the top interpretation, reflected in the debug menu.
  • UnityWeatherSystem – Weather presets now use cubemaps instead of entire skybox materials; added lerpable skybox to transition between different skybox cubemaps.
  • IShaderSystem – Added Get functions.

Scenario Maps

  • Added Region System functionality to Scenario Maps, along with BorderMarker prefab.
  • Added Razish (city) scenario map texture, material, and prefab.
  • Added interpretation and narration functionalities to scenario maps, including narrative prologues and epilogues, and interpretation-based scenario conditions.

Terrain

  • Added WPThunderstorm Tile and LMAB L16, L18, L20 and L22 datasets.

Unity

IMPORTANT

As of RIDE v0.7, the supported Unity versions are 2022.x, LTS 2021.3.x and LTS 2020.3.x.

Note, under 2020.3.x, Microsoft.Extensions.Logging.Abstractions.dll and NonverbalBehaviorGenerator.dll need to be manually excluded from being compiled by unchecking their respective Import Settings inside the Inspector pane.

  • Upgraded project to support Unity 2022.1.5f1.
  • Updated UPM packages to latest versions, includes Burst, JetBrains Rider Editor, and Visual Studio Editor.
  • ProjectSettings – Player – Configuration – Api Compatibility Level now supports both .NET Framework and .NET Standard 2.1.
  • Note, recommend clearing your local checkout \Library directories under \RideUnity and \NewProjectTemplate Unity projects prior to updating.

Documentation

DocFX API Documentation, changed the RIDE API template to SingulinkFX: https://ride.ict.usc.edu/api

Examples

Added Example scenes that highlight new RIDE capabilities, such as:

  • ExampleNLP, added support for Google DialogFlow and service comparison.
  • ExampleDataMonoCharacters; displays a variety of simpler DataMono character prefabs with different levels of functionality, such as patrol behavior.  
  • ExampleTimeSimulation; new example scene to manipulate single and group agent movement speed and time simulation under A* Pathing movement system.
  • LiberationOfRazish; preliminary authored simulation to demonstrate latest features of the Scenario Map toolset.

Fixed Issues

This release contains numerous bug fixes, including code refactoring and optimizations. Selected items of interest listed below.

Examples

  • Team Match and Networking, fixed issue with weapons where burst and auto fire modes were not working properly for players.
  • Team Match, avatar/player sprint animation no longer applied to walking movement.
  • ExampleLOS, ExampleWaypointVisualizer and ExampleWaypointVisualizer_Korabela scenes, REDFOR agent(s) now engage BLUFOR.
  • ExampleBarracudaAPI and ExampleFace, addressed webcam remaining on after exit of scene through Level Select.
  • RazishTour, standalone builds, fixed line 00-intro and 01-walkstart audio playing simultaneously.

RIDE Systems

  • UnityAudioSystem – system now has a public reference to UnityAudioClipCache. RideSystems.prefab includes a clip cache by default. In each scene, clips can be added to this gameobject without needing to create one separately.
    • Addresses related warning in  ExampleAudio.unity, BattleDrill_CoverAndConcealment.unity, RazishTour.unity, and ExampleRegionSystem.unity.
  • UnityWeatherSystem – fixed error if certain materials/systems were not present in scene.

Known Issues

New defects or regressions of interest to be addressed in a future release.

Examples

  • BattleDrill_CoverAndConcealment, PrpWoodenCrate03Prefab assets not appearing in external release. 
  • Team Match, UnassignedReferenceException on client side upon connect to host; however, this error appears innocuous from our testing.
  • ExampleBehaviourComparison, editor only, scripted and ML Agent fail to reach goal when loading scene via Level Select scene.
  • ExampleAgentCommandsEchelonFormationMovement and _Terrain, agents scatter and increase speed with combat behaviors.
  • ExampleNavMesh, CombinedTerrain object not removed with Clear Terrain; missing materials observed with map reload.
  • ExampleTerrainDestruction, error when triggering destruction event over certain structures.
  • With UnityAStarMovementSystem enabled, large terrain datasets, such as Razish20 and FtHoodJack L21, may experience long loading times and a period of unresponsiveness from editor/executable.