Prerequisites
Before starting this guide, make sure you have:
- Designer running on your system
- LiveUpdate Tester plugin installed (see Installation)
- A Designer project loaded with at least one object (e.g., a screen or layer)
Understanding the URL Format
LiveUpdate Tester connects to your Designer instance using a URL parameter. The basic format is:Examples:
- Designer on localhost port 80:
http://localhost/?director=localhost:80 - Designer on remote machine:
http://localhost/?director=192.168.1.100:80 - Default (uses current hostname):
http://localhost/
window.location.hostname if no director parameter is provided, as shown in the initialization code from App.vue:19-20:
Step-by-Step Guide
Launch the Plugin
Open LiveUpdate Tester from Designer’s plugin launcher or navigate to it in your web browser:You should see the main interface with the title “LiveUpdate Subscriptions” and an input field labeled “Object Name”.
Add Your First Object
In the “Object Name” field, enter the path to a Designer object. For example:Click the Add button or press Enter to add the object.The interface will display a new subscription box showing:
- The object name
- The object type in brackets (e.g.,
[Surface]) - A table for property subscriptions
- An input field to add property subscriptions
Subscribe to a Property
In the property input field within the object’s subscription box, enter a property path you want to monitor. For example:or for nested properties:Add the property subscription and watch as the “Value” column starts showing live updates from Designer.
The plugin includes autocomplete functionality powered by the Designer Python API. Start typing to see available property suggestions.
Monitor Live Updates
As you modify the property in Designer (e.g., adjusting brightness of the surface), you’ll see the value update in real-time in the LiveUpdate Tester interface.The update frequency is configurable. By default, properties are polled at a reasonable interval (as configured in ObjectSubscription.vue:99):
Understanding the Interface
Object Subscription Box
Each added object appears in its own subscription box containing:- Object Header: Shows the object name and type
- Resource Info: For Resource objects, displays additional metadata
- Property Table: Lists all subscribed properties with their current values
- Property Input: Field to add new property subscriptions
- Remove Button: Trash icon to remove the entire object subscription
Property Subscription Row
Each subscribed property displays:- Property: The property path (e.g.,
brightness,transform.position.x) - Value: The current live value from Designer
- Action: Buttons to edit or unsubscribe from the property
How LiveUpdate Works
Under the hood, LiveUpdate Tester uses the@disguise-one/vue-liveupdate library, which:
- Connects to Designer via the Python API
- Subscribes to object properties using Python expressions
- Polls Designer at the specified frequency
- Updates Vue reactive refs with new values
- Triggers UI updates automatically through Vue’s reactivity
Example: Monitoring a Surface
Let’s walk through a complete example of monitoring a surface object:Subscribe to Multiple Properties
Add these properties one by one:
brightnesscolour.redcolour.greencolour.blueopacity
Advanced Features
Python Expressions
LiveUpdate subscriptions can use Python expressions for computed values. For example, the ObjectSubscription component subscribes to type information using expressions (ObjectSubscription.vue:94-100):Persistent Subscriptions
LiveUpdate Tester automatically saves your subscriptions to browser localStorage. When you reload the plugin, your objects and property subscriptions are restored automatically. From SubscriptionManager.vue:34:Troubleshooting
Plugin Won’t Connect
Object Not Found
If you get an error when adding an object:- Verify the object path matches Designer’s hierarchy exactly
- Check spelling and capitalization (object names are case-sensitive)
- Ensure the object exists in the current Designer project
Properties Not Updating
If property values appear frozen:- Check that Designer is actively running (not paused)
- Verify the property path is correct
- Try unsubscribing and resubscribing to the property
- Check the browser console for error messages
Next Steps
Now that you’re familiar with the basics:Explore Property Autocomplete
Use the autocomplete feature to discover all available properties on your objects
Test Update Frequencies
Experiment with different update frequencies to find the right balance for your use case
Build Custom Plugins
Use what you’ve learned to integrate LiveUpdate into your own Designer plugins
Contribute to the Project
Check out the GitHub repository to contribute improvements