Skip to content

Guribo/UdonAVLTree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Udon AVL Tree

Total downloads

A AVL tree implementation for U# based VRChat worlds.

Installation

For simplicity reasons please install only via VRChat Creator companion and not manually using Unity packages! You will be missing dependencies when going the Unity package way!

  1. Import VRChat World SDK 3.6 VCC package into your project
  2. Add CyanPlayerObjectPool package listing to VCC: https://cyanlaser.github.io/CyanPlayerObjectPool/
  3. Add TLP Package listing to VCC: https://guribo.github.io/TLP/
  4. Import TLP UdonAVLTree into your project
    1. This will now automatically import all other needed packages for you:
      • TLP UdonUtils
      • CyanPlayerObjectPool

Setup

Note: All prefabs are in the Packages folder so make sure that you select either All or Packages when searching for them.

  1. Add TLP_Essentials prefab to your scene
  2. TODO

Known Issues

  • TODO

Versioning

This package is versioned using Semantic Version.

The used pattern MAJOR.MINOR.PATCH indicates:

  1. MAJOR version: incompatible API changes occurred
    • Implication: after updating backup, check and update your scenes/scripts as needed
  2. MINOR version: new functionality has been added in a backward compatible manner
    • Implication: after updating check and update your usages if needed
  3. PATCH version: backward compatible bug fixes were implemented
    • Implication: after updating remove potential workarounds you added

Changelog

All notable changes to this project will be documented in this file.

[0.1.0] - 2024-05-21

🚀 Features

  • Move from TLP
  • Update to U## 1.0 and client sim
  • Move logging to base class
  • Fix loglevels, assert and perf limit warning
  • Fix entries with invalid names being added to leaderboard
  • Add vehicle sync, update leader board (break it too)
  • Add gamemode, update vr components, test improvements, add serialization retry to base behaviour
  • Add logging of all logs in frame to profiler
  • Simplify comparison of behaviours
  • Fix entries not being added to tree (wip), fix limitless syncing
  • Add TLP_UNIT_TESTING define, add companion version of VRWorldToolkit
  • Make tree not synchronized
  • Fix up scenes and broken event callbacks
  • Fix updates not being displayed
  • Display data in leaderboard entry
  • Update tribes scene, create leaderboard prefab
  • Create factories for avl tree, factory with pool
  • Reduce type spam in logs, add execution order to logs
  • Add comparer creation, update exectionorders, move pooleable code to base behaviour
  • Support adding players to model
  • Fix finding of inactive gameobjects
  • Add new data source using leaderboard model
  • Deinit on destroy, selectable categories with view
  • Have entry synchronizer get notified when an entry changes
  • Have synchronizer attach entry to dirty root
  • Support playmode test
  • Update UVU exporter and readme
  • Initial conversion
  • Recompile
  • Remove local path
  • Update dependencies
  • Rename and add udonutils dependency
  • Update namespaces
  • Update assets
  • Update to support latest vrc sdk
  • Update Pool references
  • Migrate to UdonUtils 7.0.0 and vrc sdk 3.6

🚜 Refactor

  • Cleanup and more test coverage
  • Remove unused code and cleanup
  • Ui controller method extraction
  • Test aggressive inlining, restructure

🧪 Testing

  • Update tests to use TestWithLogger, reduce log spam

⚙️ Miscellaneous Tasks

  • Reserialize
  • Add ci pipeline and update Readme