Board Bibles V1 takes over Gorilla Tag’s built-in bulletin boards inside the TreeRoom scene to display scripture verses. This page explains how the mod finds the four relevant GameObjects, prevents the game from overwriting the mod’s content, and drives the startup and rotation cycle through Unity’sDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/ASTRA228b/BoardBiblesV1/llms.txt
Use this file to discover all available pages before exploring further.
Update() loop.
Locating the GameObjects
All four bulletin board text objects live under a fixed scene path:FindThem() method calls GameObject.Find() with that base path prepended to each object name. It targets two heading slots and two body slots — one pair for the MOTD board and one pair for the Code of Conduct board:
| Object name | Role |
|---|---|
motdHeadingText | MOTD heading label |
motdBodyText | MOTD body content |
CodeOfConductHeadingText | CoC heading label |
COCBodyText_TitleData | CoC body content |
FindThem() is called from Update() every frame until all four references are non-null. Once the objects are cached the method is no longer called.Disabling the native text handler
Gorilla Tag uses aPlayFabTitleDataTextDisplay component on the body text objects to pull live content from PlayFab’s title data service. If left enabled, the game would overwrite whatever the mod writes to those TMP_Text fields on the next frame.
Board Bibles V1 disables this component on both body objects immediately after finding them:
Applying text every frame
ApplyTexts() is called from Update() on every frame after the GameObjects are found. It writes the mod’s heading and the current verse string to all four slots:
"Board Bible V1". Both body slots receive the current verse string stored in CV, converted to uppercase via .ToUpper() before display.
Startup and rotation cycle
Board Bibles V1 follows a three-phase display loop from the moment the game loads:Welcome message (0–2 minutes)
On The
Start(), the current verse string CV is set to the welcome message and a start timestamp is recorded:showingStartMessage flag stays true and Update() keeps writing the welcome message to the boards until two minutes have elapsed.First verse fetch
Once
DateTime.UtcNow - StartT >= TimeSpan.FromMinutes(2), showingStartMessage is set to false and PickVerse() is called for the first time. This triggers the APIPuller coroutine to request a verse from the live API (or fall back to the local list if the network is unavailable). See API and offline fallback for details.Summary
GameObject discovery
Four bulletin board objects are located by full scene path using
GameObject.Find() and cached after the first successful lookup.Native handler disabled
PlayFabTitleDataTextDisplay is disabled on the two body objects so Gorilla Tag cannot overwrite the mod’s content.Frame-level text write
ApplyTexts() runs every frame, keeping both boards in sync with the current verse string at all times.Timed rotation
A 2-minute welcome screen is followed by verse fetches that rotate every 5 minutes for the duration of the session.