Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
707 commits
Select commit Hold shift + click to select a range
a0e22ef
more changes
dooly123 Nov 29, 2025
50dd2ad
generate the BasisFrameRateVisualization on the fly
dooly123 Nov 30, 2025
a6c4699
changed avatar scale
dooly123 Nov 30, 2025
734d83b
more fixes
dooly123 Nov 30, 2025
5656ce9
ready to build final test for tomorrow
dooly123 Nov 30, 2025
46fe975
potential lts
dooly123 Nov 30, 2025
7ace56a
fix for resolution and fullscreenmode
dooly123 Nov 30, 2025
7f85d42
FOV Menu Scaling and VR Calibration Button (#414)
Vowgan Dec 1, 2025
8daf5e4
scroll rect fixes
dooly123 Dec 1, 2025
8add4d6
more fixes
dooly123 Dec 1, 2025
5326c54
fix for mouse down scroll lock issues
dooly123 Dec 1, 2025
755418b
more changes
dooly123 Dec 1, 2025
a9f1843
exported changes onto the blinking issue
dooly123 Dec 1, 2025
4e74c73
reworked eye and blink tracking
dooly123 Dec 1, 2025
654ebf8
added a fallback for the unity editor in ui style
dooly123 Dec 1, 2025
4ba8f54
ready to roll out lts
dooly123 Dec 1, 2025
1326480
Fix axis constraints when object is parented (#417)
foxriot Dec 1, 2025
0f15ccf
more work on the shader for the UI
dooly123 Dec 2, 2025
99d6d5a
Merge branch 'developer' of https://github.com/BasisVR/Basis into dev…
dooly123 Dec 2, 2025
5073c5c
shader updates
dooly123 Dec 2, 2025
99d169f
more ui changes
dooly123 Dec 2, 2025
8120019
Camera ergonomics (#418)
itsKatVR Dec 2, 2025
3edb3a7
to lowered shadow quality option value
dooly123 Dec 3, 2025
36f6d75
Created custom "BTween" tweening system. (#419)
Vowgan Dec 3, 2025
ac109ed
Merge branch 'developer' of https://github.com/BasisVR/Basis into dev…
dooly123 Dec 3, 2025
c109f28
changes to camera
dooly123 Dec 3, 2025
a8cd5d5
removed the #if check around spans we already are using them elsewhere
dooly123 Dec 4, 2025
ecc507d
removed more #if LITENETLIB_SPANS
dooly123 Dec 4, 2025
82a218a
fixed a bug in facial blink driver
dooly123 Dec 4, 2025
3afbb00
calculatedIntervalBase fixed
dooly123 Dec 4, 2025
c48d5f8
more work todo still on the distance calculations
dooly123 Dec 4, 2025
89b0db0
added a little safe guard to delay avatar checking until the next cycle
dooly123 Dec 4, 2025
4b1105c
changed around
dooly123 Dec 4, 2025
e562c6c
removed some safety's will readd if they explode this week
dooly123 Dec 4, 2025
de0aa75
Ignore Oculus exe meta file to stop Unity adding and deleting it (#422)
aaronfranke Dec 5, 2025
0b01864
Spawn player at the scene's spawn point when loading the scene (#421)
aaronfranke Dec 5, 2025
fe0f7cb
Allow multiple colliders per interactable and allow raycasts inside t…
aaronfranke Dec 5, 2025
b3f55bd
updated to lts and removed some safety's for issues that have been lo…
dooly123 Dec 5, 2025
c3b4b8e
other updates
dooly123 Dec 5, 2025
7c42df1
improved locking in avatar buffer
dooly123 Dec 5, 2025
62deaf4
another fix
dooly123 Dec 5, 2025
09475d8
fixed mistake that when a device fell through would not set the actua…
dooly123 Dec 5, 2025
f0034c5
updated docs, fixed bugs in microphone v key
dooly123 Dec 5, 2025
4c480c6
more cleanup
dooly123 Dec 5, 2025
ea3543a
fix for controllers not being able to get close to the avatar
dooly123 Dec 6, 2025
43b5e6a
more work todo
dooly123 Dec 6, 2025
ac8d69e
i have embedded universal pipeline into the basis project with a fix …
dooly123 Dec 6, 2025
66b8c19
added experimental stp and made a fix to bone actuation
dooly123 Dec 6, 2025
defaaaa
avatar selection updated
dooly123 Dec 6, 2025
c43ce7c
changed header name
dooly123 Dec 7, 2025
4210daf
fixed back to desktop spine bug
dooly123 Dec 7, 2025
a4b9cd2
added a way to apply scale to the transformed positions and rotations…
dooly123 Dec 7, 2025
47efae0
images are selectable and dateofcreation string has been added
dooly123 Dec 8, 2025
4bb1ade
playing around with ik
dooly123 Dec 8, 2025
bc35344
more work on it
dooly123 Dec 8, 2025
735a822
added a soft to the extension
dooly123 Dec 8, 2025
88629ea
more ik changes
dooly123 Dec 8, 2025
fb869a1
more work on ik
dooly123 Dec 8, 2025
d9939e9
more work on the ik
dooly123 Dec 8, 2025
1e6b43a
round one of ik improvements done
dooly123 Dec 8, 2025
c15d8d6
more changes to ik
dooly123 Dec 8, 2025
30ede8d
more cleanup
dooly123 Dec 8, 2025
d2cafc2
more calibrated offsets added
dooly123 Dec 8, 2025
8272b49
more cleanup
dooly123 Dec 8, 2025
9eae8cd
removed the using static
dooly123 Dec 8, 2025
339746f
clamped rotation to 45 degree
dooly123 Dec 8, 2025
14ba2c8
depth priming no longer disables on msaa
dooly123 Dec 9, 2025
f87486a
second ik spine adjustment to allow for proper chest manipulaton
dooly123 Dec 9, 2025
83c45ab
removed SoftenTargetLength for a test
dooly123 Dec 9, 2025
9daf9d3
looking into a pole issue
dooly123 Dec 9, 2025
6869c6f
another test for rantis
dooly123 Dec 9, 2025
884a15c
early shoulder tracking
dooly123 Dec 9, 2025
36f4a78
goofy
dooly123 Dec 9, 2025
b60508b
Revert "goofy"
dooly123 Dec 9, 2025
fd756fc
Misc minor changes (#432)
aaronfranke Dec 9, 2025
6f24ce1
Replace desktop left/right keyboard look with full left/right/up/down…
aaronfranke Dec 9, 2025
3794ea6
legs and arm length correction logic added
dooly123 Dec 9, 2025
b9d22c0
horizontal locking of movement for hips beyond x of the head
dooly123 Dec 9, 2025
055cdbb
trialing more ik changes
dooly123 Dec 9, 2025
74bbe34
Revert "trialing more ik changes"
dooly123 Dec 9, 2025
161bbfb
made some more computed items single shot instead of per frame
dooly123 Dec 9, 2025
624baae
swapped out default avatars
dooly123 Dec 9, 2025
c072073
fixed avatars with missing parts
dooly123 Dec 9, 2025
309b752
stopped a memory leak
dooly123 Dec 9, 2025
2a4c787
Fixed scaling for Menu UI breaking TMP components at very small playe…
Vowgan Dec 9, 2025
51c3ce2
Fixed exit dialogue offset scaling. (#436)
Vowgan Dec 9, 2025
6862b92
snap turn fix
dooly123 Dec 10, 2025
3213948
disabled min max locker for now
dooly123 Dec 10, 2025
12cb0e4
made it work with full body
dooly123 Dec 10, 2025
e18169e
more changes
dooly123 Dec 10, 2025
0a49082
Revert "Replace desktop left/right keyboard look with full left/right…
dooly123 Dec 10, 2025
f552921
bug fixes
dooly123 Dec 10, 2025
2189b8f
slowly working on a animation driver
dooly123 Dec 10, 2025
481bef9
more cleanup
dooly123 Dec 10, 2025
4c3ce40
more ik changes
dooly123 Dec 10, 2025
2456365
Updated style paths, worked on avatar menu
Vowgan Dec 10, 2025
6d122e1
improved camera finding logic
dooly123 Dec 10, 2025
28b0ff4
fix for collisions not being animated
dooly123 Dec 10, 2025
ac9d0bb
Added tracker visualization for new menu (#440)
Vowgan Dec 10, 2025
0bd133f
Add full left/right/up/down keyboard look (#439)
aaronfranke Dec 10, 2025
9570718
fixed jiggles
dooly123 Dec 10, 2025
c593d40
Camera ergonomics (#441)
itsKatVR Dec 10, 2025
7187239
Camera ergonomics (#443)
itsKatVR Dec 11, 2025
e92c7ed
added respawn function
dooly123 Dec 11, 2025
1883e95
added sit stand
dooly123 Dec 11, 2025
44eaf7d
improvements to immobilize
dooly123 Dec 11, 2025
1b15a82
Update Project Setup window links (Error 404) (#445)
GapVR Dec 12, 2025
37130d4
Add dedicated vertical movement to the character controller (#433)
aaronfranke Dec 12, 2025
85a3090
updated to 6.3.1f1
dooly123 Dec 12, 2025
533634c
fixes keyboard thinking it exits after first use
dooly123 Dec 12, 2025
e0557ac
added max download size for remote avatars
dooly123 Dec 12, 2025
f6f9650
Update cilbox to changes in Basis (#447)
cnlohr Dec 13, 2025
7dab1ea
Added new Avatar List Page and new avatar input
Vowgan Dec 13, 2025
a8b7bdc
Merge branch 'BasisVR:developer' into vowgan/avatar-menu
Vowgan Dec 13, 2025
361b23d
Asset loading fixes for avatar menu
Vowgan Dec 13, 2025
aea5c3e
more cleanup
dooly123 Dec 13, 2025
84d43ea
Created new "Avatar List Menu" panel. (#448)
Vowgan Dec 13, 2025
6464331
Merge branch 'pr/448' into developer
dooly123 Dec 13, 2025
001525f
i hate unity
dooly123 Dec 13, 2025
532da84
hamburger gone from being loaded on phone
dooly123 Dec 13, 2025
5cf4609
updated onscreen keyboard
dooly123 Dec 13, 2025
c9354bd
on screen controls improved
dooly123 Dec 13, 2025
5f425d5
Added task cancellation to avatar list when closing the menu (#449)
Vowgan Dec 13, 2025
6828a85
loading avatar is now used directly first frame before reval
dooly123 Dec 14, 2025
7f33c28
Merge branch 'developer' of https://github.com/BasisVR/Basis into dev…
dooly123 Dec 14, 2025
0bd1282
early work on a system to control max avatar loads
dooly123 Dec 14, 2025
ab46bef
todays build
dooly123 Dec 14, 2025
bad8179
Package Updates (AudioLink + Export Volumetrics) (#454)
cnlohr Dec 14, 2025
02b9abf
Added Kat's Mirror Icon (#450)
Vowgan Dec 14, 2025
d1e0efd
OS X rnnoise support (#456)
katruud Dec 16, 2025
0b770ea
Added new Server Panel, minor fixes (#457)
Vowgan Dec 16, 2025
0785fd7
Forced layout rebuild for the avatar menu text (#458)
Vowgan Dec 16, 2025
7399ba5
Add Zeromessenger (#460)
mriise Dec 19, 2025
7c67b80
updated editor version
dooly123 Dec 19, 2025
f4b71c7
working on mulithreading eyes and blinking input
dooly123 Dec 19, 2025
b80b37b
ready for testing
dooly123 Dec 19, 2025
fd407ea
removed some usings
dooly123 Dec 19, 2025
8f1997e
more cleanup
dooly123 Dec 19, 2025
23bbff1
header changes
dooly123 Dec 19, 2025
3a62a7d
removed ulipsyncblendshape just making it more us
dooly123 Dec 19, 2025
aaa9d1f
feat: Update opus to v1.6 and include MacOS binaries. (#464)
SineVector241 Dec 20, 2025
4cb5571
changed how voice gain works on remote clients
dooly123 Dec 20, 2025
41ba35c
cleaned up audiosource
dooly123 Dec 20, 2025
97a672c
Mac .bee file build fixes (#465)
katruud Dec 20, 2025
5fa550b
feat: ios builds of opus and rnnoise (#466)
katruud Dec 21, 2025
d32100f
added ios quality level
dooly123 Dec 21, 2025
5162a44
fixed default lods
dooly123 Dec 21, 2025
91a52de
Add missing x86_64 architecture to rnnoise plugins directory (#467)
yewnyx Dec 21, 2025
bf2fa61
changed gain control
dooly123 Dec 22, 2025
c0198d7
iOS build checks updated to match android mobile, enables mobile UI (…
katruud Dec 22, 2025
26ea17e
building now always uses mono for bee files
dooly123 Dec 22, 2025
04ec269
the system now doesn't just blindly use no role instead will use the …
dooly123 Dec 22, 2025
e3a7df1
add ios and mac to AssetBundleBuildSettings.asset (#473)
katruud Dec 22, 2025
9efc5d8
working on improving the height calibration system
dooly123 Dec 23, 2025
33e427d
more cleanup
dooly123 Dec 23, 2025
78746a7
more fixes
dooly123 Dec 23, 2025
35c0833
getting close to being ready to test
dooly123 Dec 23, 2025
870f45e
seated mode changes
dooly123 Dec 23, 2025
08b8dab
more fixes
dooly123 Dec 23, 2025
b97a6f7
computed height change
dooly123 Dec 23, 2025
5347421
Fix the multiline labels for IssueList and Warning Panel. (#475)
Toys0125 Dec 23, 2025
c8c4720
completed the overhaul
dooly123 Dec 23, 2025
289ec8e
ready to test again in the real world
dooly123 Dec 24, 2025
9617bf2
further improvements
dooly123 Dec 24, 2025
068e1e0
further fixes
dooly123 Dec 24, 2025
a533945
Merge branch 'height-changes' into developer
dooly123 Dec 24, 2025
90c13e5
more changes for height driver
dooly123 Dec 24, 2025
b6916a2
removed atcorrection
dooly123 Dec 24, 2025
baf5331
changed how the profile is handled
dooly123 Dec 24, 2025
37d3cb6
changes to ulipsync further
dooly123 Dec 24, 2025
741eb84
more improvements to ulipsync
dooly123 Dec 24, 2025
f38e885
last bit of cleanup, until after Christmas
dooly123 Dec 24, 2025
063a9d2
more performance improvements to lipsync
dooly123 Dec 26, 2025
b3222b6
mulithreaded nameplate color lerp
dooly123 Dec 26, 2025
84130d4
swapped to ushort instead of byte
dooly123 Dec 26, 2025
f875225
missed a few others
dooly123 Dec 26, 2025
4b4a547
remove some empty space in the avatar compressor
dooly123 Dec 26, 2025
f03325a
getting ready to split for delta compression
dooly123 Dec 26, 2025
98238d7
time to dial this in now
dooly123 Dec 27, 2025
ac9c630
removed old text
dooly123 Dec 27, 2025
1d9f37a
increased server version
dooly123 Dec 27, 2025
66370ec
more work on performance
dooly123 Dec 27, 2025
c9cd1d8
working on player settings more
dooly123 Dec 27, 2025
87d8ac5
swapped to GetInstanceID
dooly123 Dec 27, 2025
ddb8679
prevalidate normalizedDistanceFromRoot
dooly123 Dec 27, 2025
19abb82
pre cached meshlodmulitplier
dooly123 Dec 27, 2025
903cbd3
more optimizations
dooly123 Dec 27, 2025
f9c53df
further optimizations
dooly123 Dec 27, 2025
2d60acc
improving avatar sync size to be generated instead of known
dooly123 Dec 27, 2025
2d6d376
now 153 bytes per avatar sync
dooly123 Dec 27, 2025
85001d9
AndroidBundleVersionCode updated
dooly123 Dec 27, 2025
0bcd672
fixed scale z
dooly123 Dec 27, 2025
35b0270
changed HasAnimatedParameters
dooly123 Dec 27, 2025
41eba35
Receiver changes
dooly123 Dec 28, 2025
7d09618
working on the receiver loop
dooly123 Dec 28, 2025
c457612
getting closer
dooly123 Dec 28, 2025
cba2714
the last blocking issue is now mouth visemes
dooly123 Dec 28, 2025
dc2ffa0
lipsync performance improvements also made it schedule and complete a…
dooly123 Dec 28, 2025
9ffcb75
AndroidBundleVersionCode 154
dooly123 Dec 28, 2025
a61ce60
added another check
dooly123 Dec 28, 2025
1465e60
cleaned up some of the face management code
dooly123 Dec 28, 2025
6146119
Revert "cleaned up some of the face management code"
dooly123 Dec 28, 2025
ba64f2c
fixes wonky eye issues with people joining
dooly123 Dec 28, 2025
2caf8c9
away we go
dooly123 Dec 28, 2025
03cbd3b
can move erroring shaders into urp lit
dooly123 Dec 29, 2025
365736a
standalone
dooly123 Dec 29, 2025
0ba9089
this breaks a lot of things if your on this branch dont be at this time.
dooly123 Dec 29, 2025
289a8fa
swapped over
dooly123 Dec 29, 2025
0df916a
we dont need mac build profiles, its just desktop same as window & linux
dooly123 Dec 29, 2025
959fec7
updated pool table
dooly123 Dec 30, 2025
bb1585d
removed default avatars
dooly123 Dec 30, 2025
74e6b97
ready to merge
dooly123 Dec 30, 2025
9282088
remove silence threshold
dooly123 Dec 30, 2025
0ee4320
Update README.md
dooly123 Dec 30, 2025
4938393
made some memory improvements
dooly123 Dec 30, 2025
a1a184e
potential fix for send outs of audio and avatar reload not being proc…
dooly123 Dec 30, 2025
4315bed
removed helper
dooly123 Dec 30, 2025
c5ff40e
delete files that error, added more default avatars
dooly123 Dec 30, 2025
73f0c35
more ik changes
dooly123 Dec 31, 2025
95d8e79
removed custom mode
dooly123 Dec 31, 2025
13019fa
corrected eye vs arm in desktop
dooly123 Dec 31, 2025
e28b186
fixed count and added more info to editor test
dooly123 Dec 31, 2025
7c73335
fixed scaler calibration mistake
dooly123 Dec 31, 2025
f88530e
improved calibration stage for avatar radius during calibration
dooly123 Dec 31, 2025
5d0ecdb
fix for feet range
dooly123 Dec 31, 2025
aa601e5
allowed off thread tasks for CompressAvatarMuscles_BitPacked
dooly123 Dec 31, 2025
7f62f7f
more changes for performance reasons
dooly123 Dec 31, 2025
ba15c1d
stopped setting active state if not needed
dooly123 Jan 1, 2026
dbd2423
another threaded task added
dooly123 Jan 1, 2026
52170af
lipsync changes
dooly123 Jan 1, 2026
f9515dc
performance improvements to lipsync
dooly123 Jan 1, 2026
9008026
further improvements
dooly123 Jan 1, 2026
36381b6
lipsync updated
dooly123 Jan 1, 2026
8bad98f
more work
dooly123 Jan 1, 2026
709aad8
added LastUsedColor to microphone icon system
dooly123 Jan 1, 2026
e7ed1e7
added avatar info to metadata
dooly123 Jan 1, 2026
e1ab45b
further performance improvement
dooly123 Jan 1, 2026
bff16ba
improving how we handle scaling for remote players
dooly123 Jan 1, 2026
e0fb4b9
changed how data is given out
dooly123 Jan 1, 2026
c82405a
improved memory movement
dooly123 Jan 1, 2026
77094d7
instead of trying to fix a avatar payload lets just nuke it
dooly123 Jan 1, 2026
66e6144
ulipsync improved
dooly123 Jan 1, 2026
f9a2211
cleanedup
dooly123 Jan 1, 2026
9bab5b7
further lipsync changes
dooly123 Jan 1, 2026
eb06a33
cleaned up change logs
dooly123 Jan 1, 2026
376b736
undid some changes before i redo them
dooly123 Jan 2, 2026
a320b37
moved around mem copys
dooly123 Jan 2, 2026
0f347b9
scaled gated behind on requirement
dooly123 Jan 2, 2026
3a4ec3a
removed one of the null checks
dooly123 Jan 2, 2026
541f426
More robust validation of avatar texture settings (#484)
BoatFloater Jan 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
4 changes: 2 additions & 2 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
"isRoot": true,
"tools": {
"csharpier": {
"version": "0.30.3",
"version": "1.2.1",
"commands": [
"dotnet-csharpier"
"csharpier"
],
"rollForward": false
}
Expand Down
96 changes: 82 additions & 14 deletions .github/scripts/unitypackagegen.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,35 +8,55 @@ PACKAGES="Packages/org.basisvr.generator.equals-3.2.0.tgz:
Packages/org.basisvr.bouncycastle-2.5.0.tgz"
SUBFOLDERS="Packages/com.basis.sdk:
Packages/com.basis.odinserializer:
Packages/UnityJigglePhysics-upm:
Packages/com.basis.bundlemanagement:
Packages/com.basis.server"

EXTRASUBFOLDER=""

EXTRASUBFOLDERS=""
MOREFILES=""


if [[ "$1" == "full" ]]; then

echo "Producing FULL package"

PACKAGES+=":Packages/com.valvesoftware.unity.openvr-1.2.1.tgz"

# Need this for framework (But only framework)
SUBFOLDERS+=":Packages/com.basis.framework:
SUBFOLDERS+=":Packages/com.avionblock.opussharp:
Packages/com.basis.bundlemanagement:
Packages/com.basis.common:
Packages/com.basis.console:
Packages/com.basis.eventdriver:
Packages/com.basis.examples:
Packages/com.basis.framework:
Packages/com.basis.framework.editor:
Packages/com.basis.settingsmanager:
Packages/com.basis.gizmos:
Packages/com.basis.console:
Packages/com.basis.visualtrackers:
Packages/com.basis.addressables:
Packages/com.steam.steamvr:
Packages/com.steam.steamaudio:
Packages/com.naelstrof.jigglephysics:
Packages/com.hecomi.ulipsync:
Packages/com.xiph.rnnoise:
Packages/com.basis.common:
Packages/com.basis.eventdriver:
Packages/com.basis.openvr:
Packages/com.basis.openxr:
Packages/com.basis.bundlemanagement:
Packages/com.basis.profilerintergration:
Packages/com.avionblock.opussharp"
Packages/com.basis.settings:
Packages/com.basis.shim:
Packages/com.cnlohr.cilbox:
Packages/com.cqf.urpvolumetricfog:
Packages/com.hecomi.ulipsync:
Packages/com.steam.steamvr:
Packages/com.steam.steamaudio:
Packages/com.xiph.rnnoise:
Assets/Resources:
Assets/StreamingAssets:
Assets/Plugins:
Assets/AddressableAssetsData:
Assets/XR:
Assets/Basis"

EXTRASUBFOLDERS+="ProjectSettings"

MOREFILES+="Packages/manifest.json:Packages/packages-lock.json"

elif [[ "$1" == "sdk" ]]; then
echo "Producing SDK package"
# All things are already included.
Expand All @@ -45,6 +65,8 @@ else
die
fi

set -e

cd Basis

rm -rf generate_unitypackage
Expand All @@ -65,11 +87,57 @@ echo $SUBFOLDERS | tr : '\n' | while read ddv; do
cp "$FV" generate_unitypackage/$GUID/asset.meta
#GPNAME=$(echo ${ddv:0:${#ddv} - 4} | cut -d/ -f3-)
FONLY=$(echo $FV | rev | cut -d. -f2- | rev)
echo "${FONLY}"
echo "${FONLY}" "${GUID}"
echo "${FONLY}" > generate_unitypackage/$GUID/pathname
done
done

# Tricky trick for exporting projectsettings
echo ${EXTRASUBFOLDERS} | tr : '\n' | while read ddv; do
find $ddv -type f -name "*.asset" -print0 | while read -d $'\0' -r FV ; do
#printf 'File found: %s\n' "$FV"
ASSET=$FV
GUID=$(echo "$FV" | md5sum | cut -d' ' -f1 | cut -b-32 )
mkdir -p generate_unitypackage/$GUID
if [[ -f "$ASSET" ]]; then
#echo "$ASSET" TO generate_unitypackage/$GUID/asset
#echo ASSET COPY cp "$ASSET" generate_unitypackage/$GUID/asset
cp "$ASSET" generate_unitypackage/$GUID/asset
fi

echo "fileFormatVersion: 2" > generate_unitypackage/$GUID/asset.meta
echo "guid: ${GUID}" >> generate_unitypackage/$GUID/asset.meta

#GPNAME=$(echo ${ddv:0:${#ddv} - 4} | cut -d/ -f3-)
FONLY=$(echo $FV | rev | cut -d. -f2- | rev)
echo "${ASSET}" "${GUID}"
echo "${ASSET}" > generate_unitypackage/$GUID/pathname
done
done

echo "Adding extra files: " ${MOREFILES}

echo ${MOREFILES} | tr : '\n' | while read FV ; do
#printf 'File found: %s\n' "$FV"
ASSET=$FV
GUID=$(echo "$FV" | md5sum | cut -d' ' -f1 | cut -b-32 )
mkdir -p generate_unitypackage/$GUID
if [[ -f "$ASSET" ]]; then
#echo "$ASSET" TO generate_unitypackage/$GUID/asset
#echo ASSET COPY cp "$ASSET" generate_unitypackage/$GUID/asset
cp "$ASSET" generate_unitypackage/$GUID/asset
fi

echo "fileFormatVersion: 2" > generate_unitypackage/$GUID/asset.meta
echo "guid: ${GUID}" >> generate_unitypackage/$GUID/asset.meta

#GPNAME=$(echo ${ddv:0:${#ddv} - 4} | cut -d/ -f3-)
FONLY=$(echo $FV | rev | cut -d. -f2- | rev)
echo "${ASSET}" "${GUID}"
echo "${ASSET}" > generate_unitypackage/$GUID/pathname
done


echo "Now, exporting .tgz's"

if [[ ! -z $PACKAGES ]]; then
Expand Down
25 changes: 16 additions & 9 deletions .github/workflows/compilation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,13 @@ jobs:
run: echo "gitversion=$(git describe --tags --always)" >> "$GITHUB_OUTPUT"
- name: "Remove OpenXR when building for Linux"
if: matrix.targetPlatform == 'StandaloneLinux64'
run: jq 'del(.dependencies ["com.meta.xr.sdk.core", "com.unity.xr.openxr"])' < ${projectPath}/Packages/manifest.json > manifest.json.tmp && mv manifest.json.tmp ${projectPath}/Packages/manifest.json
run: jq 'del(.dependencies ["com.unity.xr.openxr"])' < ${projectPath}/Packages/manifest.json > manifest.json.tmp && mv manifest.json.tmp ${projectPath}/Packages/manifest.json
- name: "Remove Meta XR Core when building for Linux"
if: matrix.targetPlatform == 'StandaloneLinux64'
run: rm -rf ${projectPath}/Packages/com.meta.xr.sdk.core
- name: "Build Unity project"
timeout-minutes: 100
uses: game-ci/unity-builder@v4
uses: kitlith/unity-builder@linux-extension
env:
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
Expand All @@ -100,6 +103,7 @@ jobs:
androidKeystorePass: ${{ secrets.ANDROID_KEYSTORE_PASS }}
androidKeyaliasName: ${{ secrets.ANDROID_KEYALIAS_NAME }}
androidKeyaliasPass: ${{ secrets.ANDROID_KEYALIAS_PASS }}
linux64RemoveExecutableExtension: false
- name: "Save Library Cache"
uses: actions/cache/save@v3
if: always() && github.ref_name == 'developer'
Expand Down Expand Up @@ -179,9 +183,12 @@ jobs:
matrix:
projectPath:
- Basis Server
targetPlatform:
- linux
- win
runtimes:
- linux-x64
- linux-musl-x64
- linux-musl-arm64
- linux-arm64
- win-x64
steps:
- name: "Checkout repository"
timeout-minutes: 5
Expand All @@ -195,26 +202,26 @@ jobs:
dotnet-version: "9.0.x"
- name: "Build server"
timeout-minutes: 2
run: "dotnet publish '${{ matrix.projectPath }}' -f net9.0 --self-contained --os ${{ matrix.targetPlatform }} -o build -c Release"
run: "dotnet publish '${{ matrix.projectPath }}' -f net9.0 --self-contained --runtime '${{ matrix.runtimes }}' -o build -c Release"
- name: "Upload server artifact"
timeout-minutes: 2
uses: actions/upload-artifact@v4
with:
name: Basis-Server-${{ matrix.targetPlatform }}
name: Basis-Server-${{ matrix.runtimes }}
path: "build"
- name: Archive Release
uses: thedoctor0/zip-release@0.7.6
if: github.ref_type == 'tag'
with:
type: "zip"
directory: build
filename: "Basis Server ${{ matrix.targetPlatform }}.zip"
filename: "Basis Server ${{ matrix.runtimes }}.zip"
- name: "Release server zip"
if: github.ref_type == 'tag'
timeout-minutes: 5
uses: "softprops/action-gh-release@v2"
with:
files: build/Basis Server ${{ matrix.targetPlatform }}.zip
files: build/Basis Server ${{ matrix.runtimes }}.zip

compile-unitypackages:
name: Build .unitypackage files
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@
# Gradle cache directory
.gradle/

# Oculus
*.exe.meta

# Vim
*.swp
*.swo
Expand Down
20 changes: 20 additions & 0 deletions Basis Server/Basis Server.sln
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Common", "Contrib\Handles\C
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BasisNetworkClientConsole", "BasisNetworkClientConsole\BasisNetworkClientConsole\BasisNetworkClientConsole.csproj", "{8A2A6D2C-250D-08A6-D899-F79F03468658}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PersistentKv", "Contrib\PersistentKv\PersistentKv\PersistentKv.csproj", "{102E1760-EED6-1AC1-20BE-4878DC991C2E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PersistentKv.Tests", "Contrib\PersistentKv\PersistentKv.Tests\PersistentKv.Tests.csproj", "{E487A791-718A-7A40-052A-F010BDF16740}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PersistentKv", "PersistentKv", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -95,6 +101,14 @@ Global
{8A2A6D2C-250D-08A6-D899-F79F03468658}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8A2A6D2C-250D-08A6-D899-F79F03468658}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8A2A6D2C-250D-08A6-D899-F79F03468658}.Release|Any CPU.Build.0 = Release|Any CPU
{102E1760-EED6-1AC1-20BE-4878DC991C2E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{102E1760-EED6-1AC1-20BE-4878DC991C2E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{102E1760-EED6-1AC1-20BE-4878DC991C2E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{102E1760-EED6-1AC1-20BE-4878DC991C2E}.Release|Any CPU.Build.0 = Release|Any CPU
{E487A791-718A-7A40-052A-F010BDF16740}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E487A791-718A-7A40-052A-F010BDF16740}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E487A791-718A-7A40-052A-F010BDF16740}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E487A791-718A-7A40-052A-F010BDF16740}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -116,5 +130,11 @@ Global
{2C19D6AB-5A44-43DF-958D-EA20B0051711} = {26746063-DA31-4124-BD82-035D248DD0EB}
{F3A336BB-330D-4C3B-9B75-C36802DC4162} = {2EC38097-9623-48A5-96C6-9778D04DDF5C}
{8A2A6D2C-250D-08A6-D899-F79F03468658} = {153BDCB8-6E62-4BB4-A8FD-DD4B6A8FB0AE}
{102E1760-EED6-1AC1-20BE-4878DC991C2E} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
{E487A791-718A-7A40-052A-F010BDF16740} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
{02EA681E-C7D8-13C7-8484-4AC65E1B71E8} = {2EC38097-9623-48A5-96C6-9778D04DDF5C}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {81BA222A-92A3-4089-907D-3CB8EF40BC2D}
EndGlobalSection
EndGlobal
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@
using Basis.Contrib.Auth.DecentralizedIds;
using Basis.Contrib.Auth.DecentralizedIds.Newtypes;
using Basis.Contrib.Crypto;
using LiteNetLib;
using LiteNetLib.Utils;
using Basis.Network.Core;
#if UNITY_2017_1_OR_NEWER
using UnityEngine;
#endif
Expand Down
23 changes: 3 additions & 20 deletions Basis Server/BasisNetworkClient/NetworkClient.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
using Basis.Network.Core;
using LiteNetLib;
using LiteNetLib.Utils;

using static Basis.Network.Core.Serializable.SerializableBasis;
using static SerializableBasis;
public class NetworkClient
Expand All @@ -15,28 +14,12 @@ public class NetworkClient
/// <param name="IP"></param>
/// <param name="port"></param>
/// <param name="ReadyMessage"></param>
public NetPeer StartClient(string IP, int port, ReadyMessage ReadyMessage, byte[] AuthenticationMessage, bool UseNativeSockets = false)
public NetPeer StartClient(string IP, int port, ReadyMessage ReadyMessage, byte[] AuthenticationMessage, Configuration Configuration)
{
if (IsInUse == false)
{
listener = new EventBasedNetListener();
client = new NetManager(listener)
{
AutoRecycle = false,
UnconnectedMessagesEnabled = false,
NatPunchEnabled = true,
AllowPeerAddressChange = true,
BroadcastReceiveEnabled = false,
UseNativeSockets = UseNativeSockets,//unity does not work with this
ChannelsCount = BasisNetworkCommons.TotalChannels,
EnableStatistics = true,
UpdateTime = BasisNetworkCommons.NetworkIntervalPoll,
PingInterval = BasisNetworkCommons.PingInterval,
UnsyncedEvents = true,
ReceivePollingTime = BasisNetworkCommons.ReceivePollingTime,
PacketPoolSize = BasisNetworkCommons.PacketPoolSize,

};
client = new LNLNetManager(listener, Configuration);
client.Start();
NetDataWriter Writer = new NetDataWriter(true,12);
//this is the only time we dont put key!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@
namespace Basis.Scripts.BasisSdk.Players
{
[Serializable]
public struct AvatarNetworkLoadInformation
public struct BasisAvatarNetworkLoad
{
public string AvatarBundleUrl;
public string AvatarMetaUrl;
public string URL;
public string UnlockPassword;

/// <summary>
Expand All @@ -17,8 +16,7 @@ public byte[] EncodeToBytes()
using var memoryStream = new MemoryStream();
using (var writer = new BinaryWriter(memoryStream))
{
WriteString(writer, AvatarBundleUrl);
WriteString(writer, AvatarMetaUrl);
WriteString(writer, URL);
WriteString(writer, UnlockPassword);
}

Expand All @@ -36,7 +34,7 @@ public byte[] EncodeToBytes()
/// <summary>
/// Decodes from compressed byte data back to the structure using custom string deserialization and DeflateStream decompression.
/// </summary>
public static AvatarNetworkLoadInformation DecodeFromBytes(byte[] compressedData)
public static BasisAvatarNetworkLoad DecodeFromBytes(byte[] compressedData)
{
using var compressedStream = new MemoryStream(compressedData);
using var deflateStream = new DeflateStream(compressedStream, CompressionMode.Decompress);
Expand All @@ -48,10 +46,9 @@ public static AvatarNetworkLoadInformation DecodeFromBytes(byte[] compressedData
using var memoryStream = new MemoryStream(rawData);
using var reader = new BinaryReader(memoryStream);

return new AvatarNetworkLoadInformation
return new BasisAvatarNetworkLoad
{
AvatarBundleUrl = ReadString(reader),
AvatarMetaUrl = ReadString(reader),
URL = ReadString(reader),
UnlockPassword = ReadString(reader)
};
}
Expand All @@ -68,7 +65,7 @@ private static void WriteString(BinaryWriter writer, string value)

/// <summary>
/// Reads a string from the BinaryReader based on its length (stored as a ushort).
/// </summary>
/// </summary>
private static string ReadString(BinaryReader reader)
{
ushort length = reader.ReadUInt16(); // Read the length
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using LiteNetLib;
using Basis.Network.Core;

namespace Basis.Logging
{
Expand Down
Loading
Loading