Skip to main content

Addons

Addons are optional scripts the plugin installs next to the module in ReplicatedStorage (OceanBuoyancy, OceanSwimming and so on). Each is independent: the module works without any of them, and you can add or remove one at any time from More > Addons or during Quick Start. An installed addon gets its own dropdown at the top of the panel with its settings; those settings are attributes on the addon script, so scripts can change them too.

More > Addons

Quick Start: pick the addons

Buoyancy​

Unanchored parts tagged OceanFloat ride the surface: lift from the water they displace, drag, and spin damping, tuned by the Buoyancy Physics settings and per part by the OceanBuoyancy (lift multiplier) and OceanDrag (drag multiplier) attributes. Without it the sea is visuals only and parts fall straight through.

The addon's dropdown in the panel has a Boats and floating parts section with everything the Tags section offers for OceanFloat: tag or untag the selection, select everything tagged, Make hull for selected boat, Make sail, and the per-part OceanBuoyancy and OceanDrag.

A welded assembly with several tagged parts floats on all of them, so a wide hull rides level. Make hull for selected boat in the Tags section adds one invisible OceanHull part sized to the boat, makes it the model's PrimaryPart (RootPriority -100), gives it an attachment and an AlignOrientation that keep the deck level, and puts Quenty's qPerfectionWeld script in the model so the boat is welded together when the game starts. Make sail turns the selected part into a sail, or adds an OceanSail part to the selected boat: it gets a FluidForceSensor and a script that pushes it, every Heartbeat, with the force the sensor measures from workspace.GlobalWind. The part's SailPower attribute (100 by default) sets how hard the wind pushes; 0 furls the sail.

Parts inside an OceanDry region that belongs to the same model still float (a submarine's hull) while loose cargo inside it does not.

Swimming​

Characters swim in the sea: a damped float at the surface, water drag, and diving when the camera looks down. The water resists anything faster than swimming pace, so a jump or a fall into the sea is spent within about 20 studs. It sets the Humanoid's Swimming state, so skip it if your game has its own swim system.

SettingDefaultWhat it does
EnabledtrueCharacters swim
CanJumptruePlayers can jump while swimming
SwimSpring30How stiffly a swimmer is held at the surface
SwimIdleDrag3Slowdown while no movement key is held
DepthBuoyancyModifier0.6How much a swimmer's lift fades over the first 10 studs below rest depth: 0 = full lift, 1 = none

Drowning​

Under the surface oxygen runs out over OxygenSeconds, then the character drowns. Blackout fades the view to TintColor over DrownSeconds and then kills; Damage takes DamagePerSecond instead. Surfacing for RecoverSeconds refills the breath. Players drown through their own client (the server confirms the kill); NPCs tagged OceanDrown (any Model with a Humanoid) drown on the server.

SettingDefaultWhat it does
EnabledtrueCharacters can drown
ModeBlackoutBlackout: pass out over DrownSeconds, then die. Damage: lose DamagePerSecond while drowning
OxygenSeconds30Seconds of breath under the surface
DrownSeconds10Blackout: seconds from out of breath to death
RecoverSeconds5Seconds at the surface to refill oxygen and clear the view
DamagePerSecond10Damage: health lost per second while drowning
TintColorblackBlackout: the colour the view fades to
TintMaxOpacity1Blackout: how fully the tint covers the view at the end

WaterSplash​

A spray burst and a positional sound when a character, or anything tagged WaterSplash, hits the water faster than MinSpeed, plus spray on wave crests near the camera (the SplashRate and SplashHeight visual settings). Per instance, the SplashSoundId, SplashVolume and SplashDistance attributes override the addon defaults.

SettingDefaultWhat it does
CharacterstrueSplash for player characters too
MinSpeed8Downward studs/s needed to splash
SoundIdimpact_waterDefault splash sound
Volume0.8Loudness of the splash sound
Distance120Studs the sound carries
Particles24Spray at MinSpeed; grows with impact

Weather​

Random weather. The sea's global weather rotates on its own clock through a list you build in the panel: each entry is a sea state and a Lighting setup saved from the place, with a draw weight, and optional rain and lightning. Rain falls in the rainy ones (buildthomas' Rain), lightning strikes near players in the stormy ones (Quasiduck's Lightning-Beams) with thunder and optional damage. In Edit mode, Preview this weather shows any entry live, with its rain and its lightning.

The Weather addon

GroupSettingDefaultWhat it does
CycleEnabledtrueThe weather rotates on its own
CycleMinDuration120Shortest time a weather lasts (seconds)
CycleMaxDuration300Longest time a weather lasts (seconds)
CycleTransition20Seconds the sea and Lighting cross-fade between weathers
RainRainRate400Drops per second
RainRainSoundId(rain loop)Looping rain sound
RainRainVolume0.5Loudness of the rain sound
LightningStrikeMin / StrikeMax4 / 15Shortest and longest gap between strikes (seconds)
LightningStrikeRadius200Strikes land within this of a random player
LightningBoltHeight300How tall a bolt is (studs)
LightningBoltColorpale blueColour of the bolt
LightningFlashBrightness2How bright the sky flashes on a strike
LightningThunderSoundId(blank)Blank = silent
LightningThunderVolume / ThunderDistance1 / 1500Loudness of the thunder and how far it can be heard (studs)
DamageDamageModeDamageNone: light show only. Damage: humanoids in range take Damage. Explosion: that plus a blast
DamageDamage500 = no health loss
DamageDamageRadius12Studs
DamageBreakJointsfalseCharacters in range fall apart
DamageExplosionPressure500000Explosion mode: how hard the blast throws things
WindWindtrueThe wind runs
WindWindAngle17Direction the wind blows (degrees around the Y axis)
WindWindSpeed20How fast the streaks travel and the foliage sways
WindWindPower0.5How far the foliage sways
WindFollowGlobalWindtrueDirection and speed come from workspace.GlobalWind instead of WindAngle and WindSpeed
WindFoliagetrueParts tagged WindShake sway
WindWindLinestrueStreaks of wind near the camera
WindLineLifetime2Seconds a streak lasts
WindLineSpawnRate15Streaks per second

The wind is one you can see: streaks drifting past the camera, and parts tagged WindShake (leaves, grass, flags) swaying in it, on each player's own screen, so tag decoration and not things players stand on. Per part, the WindPower and WindSpeed attributes override the addon's wind. With FollowGlobalWind or the ocean's UseWind on, direction and speed come from workspace.GlobalWind. Built on boatbomber and CloneTrooper1019's WindShake and WindLines.

Zones​

Areas with their own ocean. A zone is a part tagged OceanZone linked to an Ocean preset (every setting, its Lighting, or both), with optional physics, visual and lighting overrides on top. The sea cross-fades across the zone's rim over OceanBlend studs; a player entering the zone gets its look everywhere they look and its Lighting fades in over OceanTransition seconds. Zones can move and their settings change live. Preview zones in the viewport outlines them while editing.

The Zones addon

Because a zone's look takes over the whole sea for a player inside it, keep zone looks close to the global one unless the change is the point.

DevTools​

A debug panel for developers: every setting live, weather and zone buttons, spawnable crates, rafts and buoys, a surface probe and a water-event log. It opens in Studio playtests and, in a live game, for the place owner, group members at MinGroupRank or above, and any ExtraUserIds, or for every player when Everyone is on. Toggle it with the chat command or the keybind.

SettingDefaultWhat it does
EnabledtrueThe window can be opened
ToggleWithBothWhat toggles the window: the chat command, the keybind, or either
ChatCommand/oceanTyped in chat to toggle the window
KeybindF8Key that toggles the window (an Enum.KeyCode name)
MinGroupRank254Group games: the lowest group rank that gets the tools
ExtraUserIds(blank)More user ids that get the tools, comma separated
EveryonefalseEvery player gets the tools (for a showcase place)

AgentSupport (for MCP)​

Only a README. It puts OceanAgentSupport in ReplicatedStorage, a StringValue that tells MCP agents and command-bar scripts how to drive the plugin through shared.InfiniteOcean (install, presets, settings, tags, zones, weather, preview) and how to use the module API. It runs nothing and changes nothing; remove it before shipping if you want a tidy place.