Skip to main content

Changelog

[2.0.1] - 07-19-26

  • Fixed regression in ControlBase causing script compile errors

[2.0.0] - 07-19-26

  • BREAKING: Moved ImageDownloadManager and ImageDownloadQuad into new ImageTXL package, further subdivided
  • BREAKING: Merged GroupToggle, Translation scripts, and additional triggers in from MiscTXL
    • Update MiscTXL to latest or remove it from your project
  • Moved TrackedZoneTrigger and ZoneTrigger under Triggers/Zone
  • Suspend DebugState when disabled
  • Added _WriteWarning to DebugLog
  • Fixed player array overflow in legacy ZoneMembership
  • Added _RemoveUserSource to AccessControl (Thanks CompuGeniusCode)

[1.8.3] - 06-12-26

  • Reduced EVENT_VALIDATE calls in AccessControl from player join/leave to only when relevant state changes
  • Added handleJoinLeaveEvents field (default on) to AccessControl to allow fully disabling that event handling
  • Stopped handling player join/leave events in AccessControl if relevant options were not selected
  • Started using Networking.InstanceOwner / Master properties over searching users in AccessControl, removing fixed user buffer

[1.8.2] - 03-24-26

  • Added _ClearLockout() and _ClearPlayers() to SyncPlayerList

[1.8.1] - 03-08-26

  • Create COMMON_TXL define symbol on load
  • Added more icons to UI atlas
  • Fixed placement of TrackedZoneTrigger logging

[1.8.0] - 02-01-26

  • Added SuppressEvents property to EventBase
  • Added PlayerType field and property to ZoneTrigger and derivatives, replacing localOnly field
  • Deprecated localOnly field on ZoneTrigger and derivatives
  • Added EVENT_PLAYER_TYPE_CHANGED event to ZoneTrigger and derivatives
  • Added debug log support to TrackedZoneTrigger

[1.7.6] - 01-25-26

  • Added Master, InstanceOwner, FirstJoin, and FirstJoinName properties to AccessControl
  • Fixed array overflow in AccessControl if more than 100 users are in world

[1.7.5] - 01-20-26

  • Exposed OwnerName and ComponentName in AccessEventBase
  • Fixed exception in _ReleaseImage(claimToken) in ImageDownloadManager
  • Added _RefreshImage(url) and _RefreshImage(claimToken) ImageDownloadManager
  • Added _RefreshImages() to ImageDownloadManager to refresh all managed images
  • Added _RefreshImage to ImageDownloadQuad

[1.7.4] - 12-26-25

  • Added ImageDownloadQuad, a sample script and prefab for using ImageDownloadManager

[1.7.3] - 12-22-25

  • Fixed unique name generation to not add redundant (1)
  • Added 'Reimport Scripts' tool under Tools->TXL to fix not found CS errors

[1.7.2] - 11-06-25

  • Removed invalid rootNamespace entry from asmdefs

[1.7.1] - 10-27-25

  • Fixed missing OnDestroy in ImageDownloadManager leaking VRCImageDownloader
  • Added init checks to some TrackedZoneTrigger methods
  • Added undo support to some menu util functions

[1.7.0] - 10-17-25

  • Added public Initialized and PostInitialized properties to EventBase
  • Added ImageDownloadManager

[1.6.1] - 08-25-25

  • Possible fix for Unity not being able to find legacy U# scripts

[1.6.0] - 07-27-25

  • Added TrackedZoneTrigger script, usable whereever ZoneTrigger is expected
  • CompoundZoneTrigger and ZoneMembership considered legacy

[1.5.8] - 04-21-25

  • Added _PlayerPositionInZone and _PlayerPositionInZoneTrigger methods to ZoneTrigger
  • ZoneMembership will check membership on world join if World Events is checked
  • ZoneMembership can check membership validity on an interval to remove invalid members

[1.5.7] - 04-10-25

  • Fixed SyncPlayerList not adding to correct slots when autocompact is turned off
  • Added checks in event base for invalid registered handlers

[1.5.6] - 03-28-25

  • Added ControlColorMap class for remapping colors on ControlBase
  • ControlBase takes optional ControlColorMap object
  • Added _SetColor method to ControlBase to change color at runtime

[1.5.5] - 02-26-25

  • UI image atlas update

[1.5.4] - 02-20-25

  • Fixed crash in SyncPlayerList when more than 10 players are added
  • Fixed Access Conrol debug option being inverted (Thanks CompuGenius-Programs)

[1.5.3] - 06-04-24

  • Fixed network desync in SyncPlayerList
  • Increased sprite pixel units on UI atlas

[1.5.2] - 04-18-24

  • Changed protected void _DebugLog to void _AccessDebugLog in AccessEventBase
  • Added optional color field to _Write method in DebugLog
  • DebugLog prefab text changed to rich formatting by default
  • Added BasicTest abstract class as standin for Func<bool>()

[1.5.1] - 03-30-24

  • Added virtual _OnInitHandlers method to EventBase that's called after handlers are initialized
  • Fixed DebugState not adding context in all cases

[1.5.0] - 03-28-24

  • Fixed event handlers not always being called if same handler was re-entered
  • Added eventDebuglog field to EventBase
  • Added AccessEventBase class

[1.4.0] - 03-24-24

  • Added virtual _PreInit method to EventBase that's called before initializing handlers
  • Added virtual _PostInit method to EventBase that's called on next frame after _Init
  • Added virtual _OnRegister and _OnUnregister internal callbacks to EventBase
  • Added virtual _PreInit method to ControlBase that's called before initializing controls
  • Added virtual _PostInit method to ControlBase that's called on next frame after _Init
  • Added _SetButton variant to ControlBase that takes color index
  • Added purple as default color to ControlBase
  • Changed DebugState to extend EventBase
  • Added _SetContext method to DebugState to add context after registering normal event handler
  • Added _ContainsPlayer and _ContainsAnyPlayerInWorld methods to AccessControlUserSource abstract class
  • Added "loop 1" icon to UI atlas
  • Added MenuUtil class for editor support

[1.3.0] - 02-11-24

  • CAUTION: Changed AccessControl to manual network sync
  • Added allowFirstJoin and restrictFirstJoinIfOwnerPresent options to AccessControl
  • Added TextMeshProGUI support to Button handlers in ControlBase
  • Included Udon Tools

[1.2.0] - 12-29-23

  • BREAKING: Removed _RegisterAccessHandler method from AccessControl
  • BREAKING: Removed RESULT_ALLOW, RESULT_DENY, RESULT_PASS constants from AccessControl
  • Added _AddAccessHandler method to AccessControl
  • Added accessHandlers field to AccessControl
  • Added AccessControlHandler base class for all access handler implementations to extend from
  • Added default GraphAPI child game object to AccessControl prefab

[1.1.0] - 11-25-23

  • Added _Unregister support to EventBase to detach event handlers
  • Fixed event handlers to allow multiple registrations by the same component
  • Event calls can now be handled recursively
  • EventBase will reject registering or unregistering handlers if already in an event call
  • Fixed AccessControl _Validate method to also refresh its whitelist status

[1.0.3] - 09-22-23

  • Fix crash in EventBase if events are fired before any handlers are registered
  • Removed depdency on UdonSharp package

[1.0.2] - 08-31-23

  • Add Runtime/Scripts/AccessControlGraphAPI to expose a usable Access Control API to Udon Graph

[1.0.1] - 08-06-23

  • Add _AddLocalPlayer and _RemoveLocalPlayer methods to ZoneMembership

[1.0.0] - 07-29-23

  • First post-VPM release