Right now, the collision functions donât work very well. Currently, the direct queries such as FindOverlapHits or FindSweepHits donât correctly remove past overlap hits so the query will report past hits instead of only current hits.
Also, none of the overlap events or queries adjust for runtime changes in an Entities scale.
interactable_component is missing a way to influence InteractDuration (which is mentioned in the documentation). So no way to emulate long search etc.
How can I define the properties for a mesh to allow me to hit it with a pickaxe? At the moment when I hit it, it doesnât even bounce - just nothing. So would be good to define material type, health etc as well as blocked from hitting etc.
The sound_component cannot have itâs volume increased. I have tried setting VolumeBase as high as 200 and it does nothing. This could be because I am using an Attenuation module in the flow though? I couldnât see how to fix this though.
Another thing is not being able to nest legacy stuff in the Outliner. I am guessing the bridge stuff will fix this? But it would be nice if every legacy object (including folders) was also defined as an entity.
Whenever I spawn a Scene Graph entity during the game, then end the game and start again, it crashes the Fortnite server (the client gets stuck and then returns to the lobby with a âConnection lostâ error).
Is there any way to prevent this? Thanks in advance!
Code example below
NE := entity{}
var Comps: []component = array{}
NE.AddComponents(Comps)
SimulationEntity.AddEntities(array{NE})
Edit: The solution to prevent the crash was to ensure that all spawned Scene Graph entities are deleted before ending the editor session.
So I wasted over a month trying to solve this one. There appears to be a bug with entity nesting and if the nesting depth is too much then when the game starts over (i.e. you end game and it restarts) then certain entities/prefabs just break. In my case I was trying to hide custom chests and disable VFX etc, but they all showed up with VFX enabled but not interactable etc. Changing the nesting depth fixed this.
Have you tried to add the entity to the component? I read somewhere the bidirectional link doesnât yet work automatically and you need to do this yourself.
Issue: Calling mesh_component.Disable() or Enable() via Verse does not consistently update the componentâs visibility or behavior. In some cases, the mesh remains active or inactive regardless of the function call.
Repro Steps:
Create A Prefab
Attach a mesh_component to an entity.
Spawn it Using Verse in the Island [Do not add it directly in Level]
Attempt to disable or enable it using Verse during runtime.
Observe that the mesh may not reflect the expected state change.
Expected: Calling Disable() or Enable() should reliably toggle the meshâs visibility and interaction state.
Request: Clarification on whether this is a known limitation or a bug. If timing or setup constraints are involved, documentation or error feedback would be helpful.
using { /Verse.org } using { /Verse.org/Native } using { /Verse.org/SceneGraph } using { /Verse.org/Simulation } using { /Fortnite.com/Devices } using { Scripts}
A Verse-authored component that can be added to entities
# A custom variable you can expose to the editor
@editable
var MyCustomInt<public>:int = 10
@editable
ClaimMutator : mutator_zone_device = mutator_zone_device{}
@editable
InitialFloorLocationEntity : entity = entity{}
# Runs when the component should start simulating in a running game.
OnBeginSimulation<override>():void =
# Run OnBeginSimulation from the parent class before
# running this component's OnBeginSimulation logic
(super:)OnBeginSimulation()
# TODO: Place logic to run when the component starts simulating here
Print("OnBeginSimulation")
ClaimMutator.AgentEntersEvent.Subscribe(SpawnFloor)
# Runs when the component should start simulating in a running game.
# Can be suspended throughout the lifetime of the component. Suspensions
# will be automatically cancelled when the component is disposed or the
# game ends.
SpawnFloor(Agent:agent):void=
ClaimMutator.Disable()
IsNextFloor := GetFloorPrefab(0)
SpawnTransform := InitialFloorLocationEntity.GetLocalTransform()
if:
FloorPrefab := IsNextFloor?
FloorPrefab.SetGlobalTransform(SpawnTransform)
then:
Entity.AddEntities(array{FloorPrefab})
spawn{DisableEntity()}
DisableEntity()<suspends>:void=
Sleep(1.0)
loop:
for (Ent : Entity.FindDescendantEntitiesWithComponent(mesh_component),Mesh:= Ent.GetComponent[mesh_component]):
Mesh.Disable()
Print("Disable")
Sleep(5.0)
for (Ent : Entity.FindDescendantEntitiesWithComponent(mesh_component),Mesh:= Ent.GetComponent[mesh_component]):
Mesh.Enable()
Print("Enable")
OnSimulate<override>()<suspends>:void =
# TODO: Place simple suspends logic to run for this component here
Print("OnSimulate")
Mesh Is not getting disabled consistently. Please assist us in figuring out why these APIâs are not working even when flow control is functioning properly and mesh components are being detected but fail to be disabled.