Skip to content

Commit

Permalink
Merge branch 'release/v4.0.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
VaLiuM09 committed Apr 25, 2024
2 parents 74db3df + 1f2c1ca commit 9e19dbb
Show file tree
Hide file tree
Showing 958 changed files with 23,363 additions and 39,720 deletions.
26 changes: 25 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,30 @@
# Changelog - VR Builder

**v3.4.0 (2023/12/01 - Current)**
**v4.0.0 (2024/04/18 - Current)**

*[Added]*
- Added upgrade tool for updating processes to the new referencing system (see below). If you open an old process in VR Builder 4.0.0, all object references will be null because the system has changed. You can attempt to update the process by opening its scene, then selecting Tools > VR Builder > Developer > Update Process in Scene. Note it's important that the correct scene is loaded, as the updater will have to search for the correct game objects in order to update the references.
If you have custom behaviors or conditions in your project, you'll need to update them to the new referencing system. Afterwards they will be supported by the automatic updater.
- Added support for TTS when using an async provider, courtesy of LEFX.

*[Changed]*
- Rebuilt the system for referencing scene objects in the process from the ground up. The new system is more robust and lets you use prefabs normally, without worrying about unique name conflicts. References in behaviors and conditions now can hold a mix of unique objects and object groups (formerly tags). They can be single or multiple references, meaning they will return one object or all viable objects. Make sure to check the documentation for more information.
- "By tag" behaviors and conditions have been removed. Now there is only one version of a given behavior/condition, but where it makes sense it will be possible to reference multiple objects, thus replicating the functionality.
- VR Builder is now a hybrid package. This means that while it's still an Asset Store .unitypackage, it will be imported in the Packages section of the project instead of your Assets folder. It's recommended to delete the MindPort/VR Builder/Core folder under Assets before updating to this version.
- Scene Object Tags have been renamed to Groups. Functionality is the same, but if updating from an old project you will notice that the Scene Object Groups settings page is empty. You can import your old tags by selecting Tools > VR Builder > Developer > Update Object Groups.
- Objects unlocked by conditions are now unlocked when the step is active instead of activating. This means, for example, that the teleportation anchor for a teleport condition will appear after all blocking behaviors have finished instead of the beginning of the step. It also means that it won't be possible to teleport there before the condition starts checking.
- The process won't stop executing because of entity lifecycle exceptions, instead, an informative error will be displayed in the console.

*[Fixed]*
- Fixed Set Next Chapter node exception when being fast forwarded.
- Fixed some errors when creating a new scene through the wizard.
- Fixed manually unlocked objects not locking again if they had been manually unlocked in multiple consecutive steps.
- Fixed unresponsive buttons in the Scene Object Groups settings page.

*[Removed]*
- Removed previously deprecated code. This includes the C# events on all properties, the old process editor, and more.

**v3.4.0 (2023/12/01)**

*[Added]*
- Experimental hand tracking rig based on the default XRI Hands rig. The prefab is named `XR_Setup_Action_Based_HandTracking` and can be used in place of the default rig. The rig supports both controllers and hand tracking. Note that there is no teleportation solution currently available for hand tracking, and some controls and behaviors are slightly different from the standard rig.
Expand Down
20 changes: 15 additions & 5 deletions Demo/Editor/DemoSceneLoader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,14 @@ namespace VRBuilder.Editor.DemoScene
/// </summary>
public static class DemoSceneLoader
{
private const string demoScenePath = "Assets/MindPort/VR Builder/Core/Demo/Runtime/Scenes/VR Builder Demo - Core Features.unity";
private const string demoProcessFilePath = "Assets/StreamingAssets/Processes/Demo - Core Features/Demo - Core Features.json";
private const string demoSceneAssetsPath = "Assets/MindPort/VR Builder/Core/Demo/Runtime/Scenes/VR Builder Demo - Core Features.unity";
private const string demoScenePackagesPath = "Packages/co.mindport.vrbuilder.core/Demo/Runtime/Scenes/VR Builder Demo - Core Features.unity";

private const string demoProcessAssetsPath = "Assets/MindPort/VR Builder/Core/Demo/StreamingAssets/Processes/Demo - Core Features/Demo - Core Features.json";
private const string demoProcessPackagesPath = "Packages/co.mindport.vrbuilder.core/Demo/StreamingAssets/Processes/Demo - Core Features/Demo - Core Features.json";

private const string demoProcessTargetPath = "Assets/StreamingAssets/Processes/Demo - Core Features/Demo - Core Features.json";
private const string demoProcessTargetDirectory = "Assets/StreamingAssets/Processes/Demo - Core Features";

[MenuItem("Tools/VR Builder/Demo Scenes/Core", false, 64)]
public static void LoadDemoScene()
Expand All @@ -23,11 +29,15 @@ public static void LoadDemoScene()
return;
}
#endif
bool isUpmPackage = File.Exists(demoScenePackagesPath);

string demoScenePath = isUpmPackage ? demoScenePackagesPath : demoSceneAssetsPath;
string demoProcessPath = isUpmPackage ? demoProcessPackagesPath : demoProcessAssetsPath;

if (File.Exists(demoProcessFilePath) == false)
if (File.Exists(demoProcessTargetPath) == false)
{
Directory.CreateDirectory("Assets/StreamingAssets/Processes/Demo - Core Features");
FileUtil.CopyFileOrDirectory("Assets/MindPort/VR Builder/Core/Demo/StreamingAssets/Processes/Demo - Core Features/Demo - Core Features.json", demoProcessFilePath);
Directory.CreateDirectory(demoProcessTargetDirectory);
FileUtil.CopyFileOrDirectory(demoProcessPath, demoProcessTargetPath);
}

EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo();
Expand Down
2 changes: 1 addition & 1 deletion Demo/Editor/VRBuilder.Editor.DemoScene.asmdef
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "VRBuilder.Editor.DemoScene",
"rootNamespace": "",
"references": [
"GUID:c8561f9de838ac04d8feeda695bc572d"
"VRBuilder.Core"
],
"includePlatforms": [
"Editor"
Expand Down
Loading

0 comments on commit 9e19dbb

Please sign in to comment.