Releases: weenachuangkud/FastCast2
FastCast2 v0.0.9
RBXL
A full environment setup made specifically for testing FastCast2
DebuggerGUI: You can control server projectiles, client projectiles, and do anything with this gui to test FastCast2
Extension: You can add a ModuleScript inside a TestModules or FastCastEventModules in ReplicatedStorage to add more things to it (If you know what you're doing and how it works)
(Currently in maintenance/unavailable)
RBXM
Changelog:
- Refactored ActiveCast.luau
- Merged ActiveBlockcast.luau and ActiveSpherecast.luau with ActiveCast.luau
- Updated TypeDef, Enums, FastCastVMs
- Removed FastCast:SafeCall(func, ...)
Fixes:
- Spherecast not working
- Type errors
- Typo fixes
- No longer errors now when attempting to index with FastCastEvents with guarding
- Fix CanPierce logic and unnec things
- Fix unnamed parameters in all callback function types
- Fix incorrect union types on Caster signal fields (removed RBXScriptSignal, RBXScriptConnection)
- Fix GetVelocityCast and AddAccelerationCast signatures
- Fix SphereCastRayInfo
@typedoc copying BlockCastRayInfo - Fix OnCastFireFunction
@typeunnamed parameters - Remove stale RBXScriptSignal references from Caster
@typedoc - Fixed GetAccelerationCast returning velocity instead of acceleration
- Fixed AddPositionCast, AddVelocityCast, AddAccelerationCast calling nonexistent methods
- Fixed missing return after cascading cast warn in SimulateCast and Stepped
- Fixed Destroy referencing RayHit/RayPierced instead of Hit/Pierced
- Merged ResumeCast into PauseCast(cast, value) for simplicity
- Added missing SetPositionCast method
- Removed unused SafeCall, material, and dead code
- Updated all doc comments to use vaildcast type consistently
- Fixed DBG_SEGMENT_SUB_COLOR2 being identical to DBG_SEGMENT_SUB_COLOR
- Fixed numWorkers assertion from > 1 to >= 1
- Fixed BulkMoveTo double-connection guard in BindBulkMoveTo
- Add guarding for SetFastCastEventsModule
- Cached CastFire from require FastCastEventsModule result in SetFastCastEventsModule
- Changed CFrame.new() to CFrame.new(origin) in ActiveCast.luau
- Unused variables in ActiveCast.luau and BaseCast.luau
FastCast2 v0.0.8
RBXL
A full environment setup made specifically for testing FastCast2
DebuggerGUI: You can control server projectiles, client projectiles, and do anything with this gui to test FastCast2
Extension: You can add a ModuleScript inside a TestModules or FastCastEventModules in ReplicatedStorage to add more things to it (If you know what you're doing and how it works)
(Currently in maintenance/unavailable)
RBXM
Added:
- Spherecast feature — adds sphere-based casting for broader collision detection and hit testing.
Changed:
- Blockcast visualization no longer stretched by cast length.
- Cleaned up code and performed minor refactors for readability.
- Updated documentation comments for clarity.
Fixed:
- Type errors
- FastCast2 now uses copy table instead of shared table for .newBehavior()
FastCast2 v0.0.7
RBXL
A full environment setup made specifically for testing FastCast2
DebuggerGUI: You can control server projectiles, client projectiles, and do anything with this gui to test FastCast2
Extension: You can add a ModuleScript inside a TestModules or FastCastEventModules in ReplicatedStorage to add more things to it (If you know what you're doing and how it works)
RBXM
Changelogs:
- Added Initial UserData to behavior
by doingbehavior.UserData = anyandCaster:Raycast(origin, direction, velocity, behavior). ActiveCast will automatically create UserData if Initial UserData is defined inside the behavior - Fixed: some doc comments
- Fixed: When you Caster:Destroy() it will error because it attempts to index nil with :Destroy() of castCompement
- Change FastCast. to FastCast: Inside ActiveCast.luau and ActiveBlockcast.luau
- Fixed: TypeDef
FastCast2 v0.0.6
RBXL
A full environment setup made specifically for testing FastCast2
- DebuggerGUI: You can control server projectiles, client projectiles, and do anything with this gui to test FastCast2
- Extension: You can add a ModuleScript inside a TestModules or FastCastEventModules in ReplicatedStorage to add more things to it (If you know what you're doing and how it works)
RBXM
Changelogs:
- Remove BetterLengthChangedModule, CanRayPierceModule: Replaced with FastCastEventsModule features
- Fix the module being required while in parallel
- Fix when FastCastEventsModule is nil, and ActiveCast is trying to index it, will error
- Refactor ActiveCast, ActiveBlockcast, Caster, and TypeDef to ECS
- Fix some functions that Caster can call without Init
- Add functions from ActiveCast and ActiveBlockcast to Caster that are used to interact with ActiveCastComponent or ActiveBlockcastComponent
- Rename RayHit, CanRayPierce, RayPierced to Hit, CanPierce, Pierced
FastCast2 Testing ground
🚀 Release Summary
This release includes test environments and benchmarking tools for FastCast2.
🎯 AWPTestGround
A testing ground focused on weapon behavior, input handling, and physics interaction.
Libraries used
Frontend
Hard-coded
Aim system
Spring-based recoil
EventSender
ProjectileClient
Backend
- Server-authoritative
- Ammo system
Showcase
2026-01-31.12-53-55.mp4
📊 BenchmarkingFastCast2
Tools and scenarios for:
- High projectile counts
- Performance comparison
- Stress testing FastCast2 under different conditions
FastCast2 Testing ground
Contains :
- Client-Server Projectile system
- Performance Test
- Packet networking library w/ UnreliablePacket
DETAILS :
- No object pooling (For simplicity reasons)
- All scripts UseLengthChanged = false (For performance reasons)
You can play around and edit the script
FastCast2 Testing ground
Roblox Studio file for testing FastCast2
You can play around inside studio, see how FastCast work, perfromance test, more