Skip to main content
Rayfield Gen2 is out NewA ground-up rebuild — faster, undetectable by design, and actively developed. Use it for new scripts instead of Rayfield (2022).Read the Gen2 docs Sentivel Endorsed by RayfieldStatus pages and uptime monitoring for whatever you ship. Free to start.Take a look

Overview

Starting with Build 1.74, Rayfield automatically loads its internal UI images from an external cache — no Roblox asset IDs involved. That alone makes a difference. Secure mode takes it further. It strips out every remaining reference that anti-cheats could use to identify your script:
  • Icons. Lucide names and rbxassetid:// values are removed at runtime.
  • Key system UI. The key prompt loads a detectable model, so it’s blocked entirely.
  • Default model ID. You’re warned if you haven’t set a custom asset ID.
The result: with secure mode on and a custom asset ID set, nothing traces back to Rayfield.

Get started

Set both flags before loading Rayfield:
If you skip RAYFIELD_ASSET_ID, Rayfield still works — but the default model ID remains detectable. See Anti-Detection for how to upload your own copy.

Icons

In secure mode, Lucide icon names and Roblox image IDs are blocked. They resolve to blank. Use getcustomasset() instead — write your images to the executor filesystem and pass the path:
This applies everywhere icons are accepted:
  • CreateWindow({ Icon = ... })
  • CreateTab(Name, Icon)
  • CreateLabel(Text, Icon)
  • LabelValue:Set(Text, Icon)
  • Rayfield:Notify({ Image = ... })

Key system

The key system UI requires a Roblox model to render. In secure mode, that model is never loaded.
  • If the user already has a saved key from a previous session, everything works as expected.
  • If there’s no saved key, the script is blocked. The key prompt can’t be shown.
Secure mode doesn’t bypass the key system — it makes it stricter. Users without a saved key are blocked entirely. If you use KeySystem = true, make sure users enter their key at least once without secure mode first.

Executor requirements

Custom icons with getcustomasset() depend on the executor supporting:
  • getcustomasset
  • writefile / isfile / makefolder / isfolder
If these aren’t available, a notification appears and some icons won’t render.

Example

A complete setup with secure mode, a custom asset ID, and custom icons:

Flags


At a glance