1. Onset
  2. News

Onset News

Winter Update

Enable new winter functions:

EnableSnowParticles(bEnable)

Enable snow particles in player view.

SetLandscapeSnowAlpha(Alpha)

Changes how much snow is visible on the landscape. A value of 0 means no snow at all and a value of 1 means fully covered with snow.

Both functions are client side.

This update also includes a maintenance update for the WebUIs. Please report any problems with scripted WebUIs or the main menu of the game.

Onset 1.4.0

The game compatibility has changed in this release. Server owners must update their server via steamcmd in order to allow clients to connect.
https://dev.playonset.com/wiki/DedicatedServer

Gas Station


Erwann reworked the gas station in the main city. It looks a lot more attractive now.



A new sign on top the city hills fill some empty space.



The restricted rooms in the townhall are now open for usage.



Bikes


Something that a lot have asked for. They are kind of experimental for now, so expect some bugs. The handling will also be further improved.

Biker Suit

/Game/CharacterModels/BikerSuit/Meshes/SK_BikerSuit




New wheeled vehicles


Apocalypse



Sedan



Tank



Forklift

You can lift up and down using the Q and E key.



Shared Scripts


Lua scripts can now be marked as "shared". These will run on both the server and client. New functions have been added to check if the current scripts runs on the server or on the client.

IsServer()
IsClient()




Support for custom maps water volumes


You can now place "Physics Volumes" on custom maps and use them as a swimmable volume for players and vehicles.



Make sure to set the following settings on your volume. Under "Brush Settings" you can change the size of the water volume.



New
  • Support for wildcards in the package.json
  • Add function GetPackageFiles(PackageName)
  • Add function GetAllPackages()
  • Add function GetPlayerVehicleSeat(player)
  • Add function GetObjectByStaticMeshActor(StaticMesh)
  • Add function IsClient() and IsServer()
  • Function CreateSound() can now play sound files from the gameserver /public_html folder.
  • The default map now has a proper navigation mesh. This can be used for AI Blueprints.
  • Vehicles can now have more than 4 doors. Vehicle ID 8 now has 5 seats, ID 24 has 4 seats, ID 30 and ID 31 have 5 seats and ID 47 and 48 have 5 seats.
  • New spawnable objects have been added. See https://dev.playonset.com/wiki/Objects


Fixes
  • Fix texture size check in function UTexture.LoadFromFile().
  • Fix multiple params and return values for UObject:ProcessEvent().
  • Fix FAttachmentTransformRules and FDetachmentTransformRules.
  • Fix crash in function IsVehicleWheelInAir() and GetVehicleWheelSeerAngle().
  • Fix rear collision on Truck04 vehicle.
  • Fix rear seats for Hatchback vehicle.
  • Fix some sound effects for the Sports Car, Muscle Car and Golf Cart.
  • Fix a game crash related to texture sampling.
  • Fix possible crash when destroying doors, npcs and objects.
  • An invalid or custom gamemode on custom maps no longer crash the game.
  • Fix collision for the skyscapper buildings from the last update.
  • Fix bug where you don't die when hitting the ground during skydive.


Improvements
  • Function LoadPak() no longer requires RootPath and ContentPath parameter. These are now optional.
  • Increase remote event string length to 65536
  • Increase remote event max arguments to 14.
  • Increase chat message length to 255.
  • Increase remote event table dimensions to 5.
  • Improve performance when the game loads existing package files/assets from disk.
  • Improve night lighting and increase star intensity.
  • Print a message in the devlog on network connection error
  • Reduce game pak size by another 3GB
  • Performance improvements in Townhall.
  • Improve file download speed when connecting to a server.
  • Improve acceleration on steep slopes for some vehicles.
  • Increase ground clearance for Sports Car and Hatchback vehicle.
  • Increase vehicle braking force and acceleration on all vehicles.
  • Slightly reduce Golf Cart maximum speed.
  • Improve Sports Car driver animation.
  • Increase ground traction for all vehicles.
  • Add proper sounds for the Steampunk vehicle.


Other changes
  • Disable halloween fog.
  • New game startup video sequence.
  • Remove Vulkan support.



- AActor
SetActorRelativeLocation
SetActorRelativeRotation
RecreatePhysicsState
- UKismetMathLibrary
MakeRotationFromAxes
FindLookAtRotation
MakeRotFromX
MakeRotFromY
MakeRotFromZ
MakeRotFromXY
MakeRotFromXZ
MakeRotFromYX
MakeRotFromYZ
MakeRotFromZX
MakeRotFromZY
ComposeRotators
RotatorFromAxisAndAngle
ClampAxis
NormalizeAxis
FindClosestPointOnLine
GetForwardVector
GetRightVector
GetUpVector
NormalizedDeltaRotator
ProjectVectorOnToVector
RandomUnitVector
RandomPointInBoundingBox
RandomUnitVectorInConeInRadians
RandomUnitVectorInConeInDegrees
CreateVectorFromYawPitch
GridSnap_Float
Abs
Sin
Asin
Cos
Acos
Tan
Atan
Atan2
Exp
Log
Loge
Sqrt
Square
RandomFloatInRange
GetPI
GetTAU
DegreesToRadians
RadiansToDegrees
FClamp
NormalizeToRange
MapRangeUnclamped
MapRangeClamped
MakePulsatingValue


Server changes
  • Add wildcard support for package.json.
  • Increase hostname length to 260 characters.
  • Fix player not respawning after skydive death.
  • Terminal will now be disabled instead of crashing the server if it is not supported by the host.
  • Update Lua to 5.4.2, plugins must be recompiled with the latest OnsetSDK or they might not work.
  • Update Steamworks SDK.
  • Add function GetPackageFiles(PackageName).
  • Add function BroadcastRemoteEvent(EventName, ...).


Update your WorldDoors.lua script from the "default" package for the new map changes.

Plugins must be recompiled with the new OnsetSDK in order to work with the 1.4.0 server.

Halloween Update 1.3.2

Cemetery


For the Halloween update Erwann designed a spooky cemetery near the race track and prison.





Truck





Other changes


  • Support .m4a audio files.
  • Increase SetSoundPitch limit to 10.
  • Event OnPlayerCrouch can now be cancelled.
  • Parameter "radius" in CreateSound3D is now optional.
  • Pak files can now be placed in the %LocalAppData%\Onset\Saved\PakFiles directory, bypassing the 2GB download limit.
  • Weapon equip should not be possible when playing certain animations.
  • Add Set/GetPlayerJumpZVelocity.
  • Adjust moon position so that it rises at ~21:00 and goes down at ~6:00, fixes dark lighting in early and late night.
  • Prefer aiming over sprinting, sprinting will be stopped when a player wants to aim.
  • Update Unreal Engine to 4.25.4
  • Function DrawTextureEx parameters now reflect the same parameters as described here: https://docs.unrealengine.com/en-US/...ure/index.html
  • Add Cast function to cast between different types of Unreal components and actors.
  • The global fog intensity has been increased for the Halloween styled update.



- Expose UActorComponent
    GetOwner
- Expose USceneComponent
    SetVisibility
    AttachToComponent
- Expose UPrimitiveComponent
    SetRenderCustomDepth
    SetCollisionResponseToChannel
    SetCollisionResponseToAllChannels
- Expose UShapeComponent
- Expose UCapsuleComponent
    SetCapsuleHalfHeight
    GetUnscaledCapsuleHalfHeight
    SetCapsuleRadius
    GetUnscaledCapsuleRadius
    SetCapsuleSize
- Expose ECollisionResponse
- Expose EBlendMode
- Expose FVector2D
    X
    Y
    DotProduct
    DistSquared
    Distance
    CrossProduct
    Max
    Min
    Set
    GetMax
    GetAbsMax
    GetMin
    Size
    SizeSquared
    GetRotated
    Normalize
    IsNearlyZero
    IsZero
    ClampAxes
    GetAbs
    InitFromString
- Expose UWorld:GetFirstPlayerController
- Expose APlayerController
- Expose AController
    GetCharacter
    GetPawn
    GetControlRotation
    GetDesiredRotation
    IsPlayerController
    SetControlRotation
- Expose APawn
    AddControllerYawInput
    AddControllerYawInput
    AddControllerPitchInput
    GetControlRotation
    AddMovementInput


Server changes

  • Function StopPackage now takes an optional "reason" parameter that is being printed to the console.
  • Add config for the new Truck vehicle.


Prophunt


Many of the new functions are being used in the prophunt script. There will be a fully playable prophunt server hosted by me in the future.

It's open source, feel free to contribute to it.

https://github.com/BlueMountainsIO/prophunt



v1.3.2 Patch 1
  • Fix UWorld:GetActorsByClass
  • Improve vehicle suspension. Should fix weird tire behavior sometimes.
  • Add another collision to Truck4 for the rear wheels.
  • Increase ground clearance for SportsCar and Hatchback.
  • Increase vehicle braking force for all vehicles and acceleration for some vehicles.
  • Increase file download frequency. Should download faster now.
  • Landscape fixes near the quarry and cemetery.
  • Client event OnPlayerWeaponShot now has the weaponid as the first parameter like on the server.
  • New objects: keyboard, mouse, cups, land and sink.
  • Fix 3d engine sounds for muscle car, sports car and golf cart.
  • Add AActor:SetActorRelativeLocation and AActor:SetActorRelativeRotation

Onset 1.3.1

Apartment Prefab


Erwann has been working on an apartment prefab that can be spawned anywhere on the map.









Prefab 01a without furniture.
/Game/Geometry/Prefabs/PF_Apartment_01a

Prefab 01b with furniture as seen in the pictures.
/Game/Geometry/Prefabs/PF_Apartment_01b


Spawning the apartment interior from Lua.
local BlueprintClass = "/Game/Geometry/Prefabs/PF_Apartment_01b"
local Location = FVector(0.0, 0.0, 0.0)
local Rotation = FRotator(0.0, 0.0, 0.0)
GetWorld():SpawnActor(UClass.LoadFromAsset(BlueprintClass), Location, Rotation)


New vehicles


[h2]Hatchback[/h2]



[h2]Steampunk[/h2]



[h2]Buggy[/h2]



[h2]Buggy Hotrod[/h2]



[h2]Police Truck[/h2]



[h2]Fire Department Truck[/h2]



[h2]Firefighter[/h2]

/Game/CharacterModels/Firefighter/Meshes/SK_Firefighter




[h3]Female model[/h3]

/Game/CharacterModels/Female/Meshes/SK_Firefighter




[h3]Other changes[/h3]
- Add missing parameters to OnPlayerLeaveVehicle and make it work for streamed players as well.
- ECC_GameTraceChannel3 now overlaps by default
- Re-enable AI system on Onset's map.
- Turkish translation for the main menu. Thank you to ErmesGames#8782!

The new vehicles have been added to the server. No other changes to the server were made.

Onset 1.3.0

Client changes


[h2]Custom maps[/h2]

The long awaited feature has finally arrived. You can now load maps/level from the Unreal Engine in Onset.

See the Developer Wiki on how to get started with Custom Maps.

https://dev.playonset.com/wiki/Custom_Maps

First public playable custom maps:

Office



Factory Map



[h2]Town Hall[/h2]





[h2]Elevator[/h2]

Lua package for the town hall elevator.

https://github.com/BlueMountainsIO/OnsetLuaScripts/tree/master/elevator

[previewyoutube][/previewyoutube]
[h2]
Pancake House Interior[/h2]



[h2]New City Skyscraper[/h2]



[h2]Rescue Helicopter[/h2]



[h2]Camper RV[/h2]

[previewyoutube][/previewyoutube]



[h2]Hazard Suit[/h2]

/Game/CharacterModels/HazardSuit/Meshes/SK_HazardSuit




[h2]Client Console[/h2]

For a more convenient development you can open the game console and add your own commands. OnConsoleInput
o open the console press one of the default keys: ~, ß, ^

You can add console keys to this ini file: %LocalAppData%\Onset\Saved\Config\WindowsNoEditor\Input.ini

[/Script/Engine.InputSettings]
ConsoleKeys=´


Note that developer mode (-dev) must be enabled for the console to work.

Press the console key two times to get the large console from the top of the screen.



UnrealLua


UWorld:
GetMapName()
GetActorsByClass(Class)
GetAllActorsWithTag(Tag)

USkeletalMesh:
GetBounds()
GetBoundingBox()

UStaticMesh:
GetBounds()
GetBoundingBox()

UClass:
LoadFromAsset(Asset)

USceneComponent:
GetWorldLocation()
GetWorldRotation()
GetWorldScale3D()

UActorComponent:
SetComponentTickEnabled(bEnabled)
IsComponentTickEnabled()
SetComponentTickInterval(TickInterval)
GetComponentTickInterval()

AActor:
ActorAddTag(Tag)
ActorRemoveTag(Tag)
SetActorTickEnabled(bEnabled)
IsActorTickEnabled()
SetActorTickInterval(TickInterval)
GetActorTickInterval()
SetRootComponent(NewSceneRootComponent)

Exposed class types:
ALight, APointLight, ASpotLight, ARectLight

Exposed enums:
ETraceTypeQuery, EDrawDebugTrace

FVector static functions (see https://docs.unrealengine.com/en-US/API/Runtime/Core/Math/FVector/index.html)
PointsAreSame
PointsAreNear
PointPlaneDist
Dist
Distance
DistSquared
DistSquaredXY
BoxPushOut
RadiansToDegrees
DegreesToRadians

UKismetSystemLibrary static functions
LineTraceSingle
SphereTraceSingle
BoxTraceSingle
CapsuleTraceSingle
LineTraceMulti
SphereOverlapActors
BoxOverlapActors
CapsuleOverlapActors
GetDisplayName

FBox:
Min
Max
IsValid
ComputeSquaredDistanceToPoint
ShiftBy
MoveTo
GetCenter
GetCenterAndExtents
GetClosestPointTo
GetExtent
GetSize
GetVolume
Intersect
IntersectXY
Overlap
IsVectorInside
IsBoxInside
IsInsideOrOn
IsVectorInsideXY
IsBoxInsideXY
BuildAABB

FSphere:
Center
W
Equals
Intersects
GetVolume
IsSphereInside
IsVectorInside

FBoxSphereBounds:
Origin
BoxExtent
SphereRadius
ComputeSquaredDistanceFromBoxToPoint
SpheresIntersect
BoxesIntersect
GetBox
GetBoxExtrema
GetSphere
ExpandBy

FPlane:
W
PlaneDot
Normalize
Flip


Example line trace usage:

local Start = GetPlayerActor():GetActorLocation()
local End = Start + (GetPlayerActor():GetActorForwardVector() * FVector(200.0, 200.0, 200.0))
local bResult, HitResult = UKismetSystemLibrary.LineTraceSingle(GetPlayerActo r(), Start, End, ETraceTypeQuery.TraceTypeQuery1, true, {}, EDrawDebugTrace.ForDuration, true, FLinearColor(1.0, 0.0, 0.0, 1.0), FLinearColor(0.0, 1.0, 0.0, 1.0), 10.0)
if bResult == true then
print(bResult, HitResult)
end


This example will trace 200 cm in front of the player. It can also be used to get a reference to any existing actor placed on the map. For example to hide existing meshes on the map.

Spawning a Blueprint:

GetWorld():SpawnActor(UClass.LoadFromAsset("/Game/Geometry/ModularPrison/Blueprints/BP_GuardTower"), FVector(0, 0, 0), FRotator(0, 0, 0))


[h2]Other changes[/h2]

- Set max timer limit to 1024
- Fix IsVehicleSeatOccupied, GetVehicleDoorLocation seat parameter starting at 1
- Fix AddComponent for USkeletalMeshComponent
- Expose ASkeletalMeshActor and make it spawnable with SpawnActor using ASkeletalMeshActor.Class()
- Add GetInputMode()
- Reset draw color on disconnect
- Fix OnPlayerEnterVehicle event for vehicles with 2 doors
- Add OnConsoleInput event for the client console.
- Make GetObjectBoundingBox behave like GetVehicleBoundingBox
- LoadPak now returns true if the pak was already loaded.
- Make playerid optional (default: -1) in GetPlayerActor
- Show number of pending files to download when connecting to a server
- Don't put package is failed state if a script is empty
- AddEvent, AddRemoteEvent, AddCommand now returns success status

Server changes


- SetObjectMoveTo is now much more accurate.
- Add dimension events: OnPlayerChangeDimension, OnVehicleChangeDimension, OnText3DChangeDimension, OnPickupChangeDimension, OnObjectChangeDimension, OnNPCChangeDimension, OnDoorChangeDimension.
- Add created events: OnObjectCreated, OnVehicleCreated, OnText3DCreated, OnPickupCreated, OnNPCCreated, OnDoorCreated
- Fix timeout for players when downloading files.
- Functions AddEvent, AddRemoteEvent, AddCommand now returns success status.
- Add OnObjectStopMoving event.
- Fix a rare event crash.

Update your WorldDoors.lua from the default package.
The elevator package is available in the package folder of the 1.3.0 server. Add it to have elevators in your town hall