v1.0.0
Installing
Go to the VCC Listing page and follow the instructions there.
Changelog
1.0.0 - 2025-04-24
A few additions to the API got their own mentions in this list, however a lot of the API is not explicitly stated in this changelog entry. The whole list of API functions does not belong here.
Added
- Add README.md (
36f9e6b,6432ea1,c2a0968,51a8e06,43c0181,7227669) - Add documentation website (
7ab5b20,0f7db28,6edeb11,dbd8814,7e97ddf,e691731,d4fc51d) - Add LockstepAPI and a lot of xml annotations, so intellisense, also as documentation (
57986ab,9eb8cc7,8737309,298caf2,a07061a,bdbb8a3,1cca1cc,50a2554,b79040a,69f5176,18de583,d4fc51d) - Add lockstep events (
0b756a5,fbfb5ac,1ffbb6b,9af9188,7507ce9,370f2d1,fb3e21b,43aaf96,7f3da29,1f4bee3,9eb8cc7,cd72348,2512c1f,dd8ed6a,839fd42,6f9e6e3,f5e3d88,d2af8ba,f9c3d8c,03932b0,a699c1f,f19bd28,e1fd163,5269ba9,044e395,5ea1aef,f9df999) - Add game states (
ccb53a9,d5181a4,90974a1,9d5c9af,4395fec,cbc6d0f,ed5b6b0,7f7eca3,ade15ca,b45aab9,9994b96,b79040a,f5a130b) - Add input actions (
0b756a5,efa16d5,81bf3d2,b4f6ad6,cc463cc,68d5c4f,ba2371a,ec7d45d,b2b81de,e228c63,d5546a5,c9c3ccf,b6d0285,33226d5,51e1f46,2fd9a37,8d8b286,b38b70e,7189a27,ea19b3b,1f488e7,0880bd3,ede3a07,1f4bee3,f3e2726,448d8a9,9cda588,18de583) - Add option to track timing for input actions (
5ca6fe5,9a52351) - Add singleton input actions (
a30064b,4e45fde,27fe839,58455fd) - Add
LockstepInputActionAttribute(1fadf54,ed9f225,36e68cd,8b6484d,e28dc1d,94b51c0,1b66e51,5ea1aef) - Add
LockstepOnNthTickAttribute(e27ab29) - Add
LockstepGameStateDependencyAttributespecifically just for load order (5da9c39,1e48233) - Add
SendEventDelayedTicks(a50ff4e,58455fd) - Add GameStatesUI prefab with import and export integration (
2dccb56,1607b93,7095fb4,44e2813,db42044,61b97b9,9b854d4,4216c78,2cba9ae,9ff1c26,c08b808,76c8cec,6040f6d,7bd8b39,5d581f5,7fdf030,6f28d42,27e520d,3673adb,9633036,fcb2408,f9f5e19,4717103,85ee43a,9ca6545,9683d5b,b7137a3,27a09ed,5fce99a,e1fd163,044e395,0c1a420,44dc417,a48103b,c6a07ba,53b5063,dffddeb,92c522f,c8d587f,7134146,408ce19,4c0d78c,9f4ba39,3c882cd) - Add LockstepInfoUI prefab with master changing and preference integration (
9cc12b9,4ce5b28,1a9bc96,0170a29,bf56348,3160052,1232454,b420ac6,89291de,ca44008,d54c352,1d1606c,5bab8ae,bf459c1,5fce99a,2d7f8c3,50f051f,7fe5432,a4840d5,3c882cd) - Add LockstepMasterPreference game state and prefab (
1d1606c,b785fca,f520abc,2dd5b76,b244294,81d69a7,0f809c0,99b219f,7b361b2) - Add WorldName to inspector, editor scripting and API (
001403c) - Add import and export (
9b854d4,5f5f44c,2cba9ae,7bd8b39,b31e9b2,0a28ae6,fcb2408,da4ed20,4717103,e289cde,6156ba7,0d5f159,73b2fb8,d2a3b4f,c6c7b20,d72124d,2512c1f,e1fd163,1a63111,044e395,885d0ef,350271d,93b38e2,bee3935,efef5d2,3b4293b,64afeca,feee5d6,eb2ca26,f57bc64,740b030,224e5a9,9902c6a,342b5d6,2516400,1f7badf) - Add ability to create custom import and export options UIs (
e1fd163,1a63111,044e395,885d0ef,350271d,332249c,93b38e2,bee3935,7a115d3,a7f5bb6,bb1aa07,fd884a0,a6687b7,a5778e0,2c45886) - Add autosaving API (
9ca6545,5750f63) - Add binary read and write to API (
09df0c4,8c558fb,3e52928,baec5c7,bf47993,e070219,76bd6d5,516bf9b,3e6e581,c015b4a,b83f4e6,f3e9f57,255d193,5165452) - Allow anything that is reading binary data to spread work out across frames, same for exporting (
137a074,ce4bb79,e83f979,8a7ebdd) - Add changing of lockstep master at request to API (
04e1dd7,4761b8d,9eb8cc7,aac0821,e57215d,5a394ab,e2c5603) - Add
IsInitializedto API (24191ab) - Add
InGameStateSafeEventto API to check if currently running code is game state safe (d9657df,ae19694,d984990,c55d12d) - Add
MasterPlayerIdto API (4a970ca) - Use
uintfor player ids instead ofint(4cfbdc0) - Add
GetDisplayNameto API (3423199,63f825c) - Expose
GameStatesSupportingImportExportto API (0daa6d2) - Add client states, also part of the API (
ccb53a9,9b4ce50,e338f21,c1f8429,32946e4,298caf2,839fd42,60f4953,d7daed8,bee3935) - Add
ClientStateToStringto API (c9ea41f) - Add initialization (
0b756a5,ccb53a9,6958cbe,9dcf5ce,a9a32a5) - Add
SerializableWannaBeClassderiving fromWannaBeClassfromcom.jansharp.common(b039e9f,f79b542,ff653d8,62776be,b9f1e91,516bf9b) - Use singletons from
com.jansharp.common(faa79b2,20751cf,ec2699f,342b2aa) - Use UI sprites from
com.jansharp.common(b7137a3) - Use VRC Player Objects (
faabf11) - Add vpm dependency on
com.vrchat.worldsversion3.7.4which is where PlayerObjects got added (01b6908) - Add vpm dependency on
com.jansharp.commonversion1.0.2(df1c436,fbfb5ac,53447f5,c71b01d) - Add vpm dependency on
com.jansharp.generic-value-editorversion1.0.0(e1fd163,53447f5) - Add dependency on
com.unity.textmeshproversion3.0.0(17c97e9) - Add late joiner syncing (
0b756a5,ccb53a9,fa863f8,5043c56,6958cbe,91b2095,5e78ab6,e29b866,24097e6,9dcf5ce,756fa26,af6feaf,0cd7a36,6743d7f,9b4ce50,f3c1234,d5546a5,0cb0bf6,911f105,db56f91,27ef2a6,cee481a,3185dab,e01765e,c724245,d3703b1,c1dcca5,1f7badf,c55d12d) - Handle players leaving (
ccb53a9,7b70b7c,addc0b4,65b951b,7b1a0cb,34a6a5d,e289cde,ede3a07,4761b8d,aac0821,d3703b1,94ae709) - Handle master leaving and changing (
ccb53a9,5043c56,22eeb08,68d5c4f,5e78ab6,24097e6,d5546a5,7128c94,5fe14c6,27cd1b6,90a8f22,9eb8cc7,aac0821,6cc7995,a57b4f9,577e746,e5f7710,357f690,9b52630,839e490,0075df9,0471868) - Run 10 ticks per second (
767f252,128b2d5,6aeca88) - Automatically adjust tick sync frequency (
f00f37a) - Use 32 bit for IA index, limiting IAs sent per player to 4294967295 (
51f061d) - Split IA packets at 4096 bytes (
cdb9d51) - Use
Buffer.BlockCopy, supposedly that is faster thanArray.Copy(998c930) - Hide scripts from add component menu in non debug builds (
3725019) - Hide internal variables in inspector in non debug builds (
c95d9f4) - Combine Lock Step into one word (
c0c2aaf,5a95d05) - Change LICENSE.txt to .md so unity sees it (
c81c62c) - Add lots of debug log messages, off by default (
32f2b49,0009cc5,81ecf21,a8153c6,079263f,e6f18ec,ff24e9f,20dc7b5,1ab744a,791de2e,a91cce9,fdc42f5) - Add LockstepDebugUI prefab (
ccb53a9,6b12dd9,a2a7e97,2354311,ddcaf06,70c7eb4,40a58e1,a4a740a,2f91fb5,e82f68f,b7137a3)
Zip sha256 checksum
badf44b60f46480eb729171ae53170fb60d282dcd0aef7cb51689d1fd570095a