Skip to content

Releases: haru0416-dev/tripwire

Tripwire 0.1.2

Choose a tag to compare

  • New actions: Toggle Component / Collider / Renderer Enabled, Respawn (back to where objects started; with VRC Object Sync for everyone), Send Random Event (one of several Custom events), Random Item (one object of a list into a variable)
  • Who can use it (a card's Advanced settings): anyone, the owner, the master, the instance's creator, or the people in / not in a Tripwire Player List (display names, shared between triggers); checked before anything is sent, and players a click card isn't for can't point at it
  • Saved variables: each player's value is kept in VRChat's PlayerData and given back (with its change event) when they come again; on/off, numbers, text, positions, colors and rotations
  • More starter cards: a button only admins can press, show how many players are here, count down from 10, put objects back, count each player's visits (saved)
  • Text shown to people (Set Text, Log) is entered on several lines, and can show {playerCount}, {myName} and {time} without a variable
  • Values typed in the Inspector (text, numbers, on/off, positions, colors, rotations, initial values, delays, player lists) are filled into the generated behaviour instead of written into its code: changing one applies at once with no script compile (a label's text: 13.6 s → 1 ms here), and triggers that differ only in such values share one program (40 everyday buttons: 31 → 4). Triggers made with an earlier version are applied again once
  • The Inspector draws big triggers faster again (72 open blocks: 24 ms → 8 ms generating a pass): inlining single-use bodies no longer starts over after each one
  • Checks: a saved variable changed many times a second (each change sends all of the player's saved data)
  • An input missing from an action's saved data (Set / Read Another Trigger's Variable, loops, Calculate...) is reported on the action instead of stopping the generator with an exception

Udon Bridge 0.1.0

Choose a tag to compare

  • 最初の版。Tripwire から、UdonSharp と Udon の内部に触る部分を切り出しました。
  • Udon のノード定義(公開されている API、変数にできる型、== が使える型、イベント)を読む UdonNodes。
  • UdonSharp と同じ規則でメンバーの Udon 名を付ける UdonNames。継承したメンバーは呼び出す側の型の名前で、フィールドは get_ / set_ の名前で付けます。
  • プログラムアセットの用意と、UdonBehaviour のプログラムをその場で差し替える UdonSharpPrograms。差し替えても、ほかからの参照と、有効・無効の状態は残ります。
  • Play 中に U# だけをコンパイルし直し、動いている behaviour に新しいプログラムを入れる HotReload。フィールドの値は引き継ぎます。エラーで止まっていた behaviour も動き直します。実行順([DefaultExecutionOrder])を変えた変更は、Play を止めてから反映されます。
  • UdonBridge.Compiler(Roslyn を使うアセンブリ): UdonSharp のコンパイル設定を読む UdonSharpSettings と、UdonSharp の bind・emit・アセンブラーをメモリ上で走らせ、保存していないコードのエラーを出す UdonSharpCheck。

Tripwire 0.1.1

Choose a tag to compare

  • The Inspector draws big triggers about ten times faster (72 blocks: 270 ms → 25 ms a pass): the loop check listed each block's links once instead of scanning all of them at every step
  • Call Udon API: members with out parameters (Physics.Raycast, int.TryParse, PlayerData.TryGetInt...), each received by a variable picked in the Inspector: 132 more members. Members with ref parameters stay out: in Udon their values don't come back
  • Call Udon API: members that report back to a behaviour (VRCStringDownloader.LoadUrl, VRCImageDownloader.DownloadImage, VRCTween callbacks, SendCustomNetworkEvent with values, Store.ListPurchases...), with this trigger as the receiver by default
  • Call Udon API: setters and void methods of structs on a variable (a position's y, a color's alpha, Normalize, VRCTweenHandle.Kill), stored back into the variable
  • Call Udon API: members returning an enum Udon can't keep in a variable (VRCPickup.currentHand...) store its number; 14738 members in all (13489 before)
  • Calculate: A + − × ÷ % B into a number, position, color or text variable
  • Get Component: a component of an object, or of its children or parents, into an object variable of that type
  • Checks for combinations that compiled but went wrong: a call writing a synced variable from a broadcast event, when sync arrives or in a synced variable's change block (warned like Set Variable); network events with values sent to a trigger (an error: Custom events take no values); a call reporting back to a trigger without the event it reports to, or naming a Custom event or variable the trigger doesn't have; VRCTween's variableName given a trigger variable (now its Udon name); Get Component many times a second
  • A variable written by name through VRCTween's variableName counts as used (Remove Unused Variables keeps it) and follows a rename
  • An enum constant its enum doesn't have, or a synced variable of a type Udon can't sync, is an error in the trigger instead of a compile error that stopped every script

Tripwire 0.1.0

Choose a tag to compare

First public version.

  • Inspector event → action lists compiled to UdonSharp: 30 events, 37 actions, variables (synced too), conditions, delays
  • Any Udon API member and members of other UdonSharp scripts
  • UI events, VRChat video player events and actions, notifications from other scripts
  • Presets for ProTV, VizVid, USharpVideo and VideoTXL
  • Values as text and {name} placeholders in Set Text and Log
  • During Play, each card shows when it last ran, or which condition stopped it with the values; the Event History window lists every run; variable values can be changed in the Inspector to try things
  • Export for Distribution: a .unitypackage of prefabs and scenes without the Tripwire component, which works with UdonSharp alone
  • Japanese and English editor UI, menus included