# Some (hopefully) simple questions

**URL:** <https://forum.8thwall.com/t/some-hopefully-simple-questions/3694>\
**Category:** Technical Support\
**Created:** [November 23, 2024, 1:41am UTC](https://forum.8thwall.com/t/some-hopefully-simple-questions/3694 "2024-11-23T01:41:20Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mitch\_Duncan](https://avatars.discourse-cdn.com/v4/letter/m/8491ac/32.png) [@Mitch\_Duncan](https://forum.8thwall.com/u/Mitch_Duncan)\
**Post date:** [November 23, 2024, 1:41am UTC](https://forum.8thwall.com/t/some-hopefully-simple-questions/3694/1 "2024-11-23T01:41:21Z")

</div>

I’m mostly just a Unity developer and learning Niantic Studio… so just figuring out how to do simple things such as:

- address/reference other scripts
- booleans that are visible in the inspector
- Enabling and disabling the visibility of objects
- Screen space UI (from what I’ve read could be a nightmare and is generally encouraged to use world space?)

Any help would be appreciated!

---

<div class="post-metadata">

**Author:** ![GeorgeButler](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.8thwall.com/georgebutler/32/1903_2.png) [@GeorgeButler](https://forum.8thwall.com/u/GeorgeButler)\
**Post date:** [November 25, 2024, 7:57pm UTC](https://forum.8thwall.com/t/some-hopefully-simple-questions/3694/2 "2024-11-25T19:57:37Z")

</div>

Hi Mitch! Welcome to the forums!

In general the best design pattern at the moment is using a event dispatcher and event listener to communicate between entities, and exchange data. It’s a little different from the Unity approach where you grab a component directly from an entity and call some function on it.

> **[Events | 8th Wall](https://www.8thwall.com/docs/studio/guides/events/)**
>
> Events are one of the basic tools for creating interactive and dynamic experiences. Events are how entities can communicate with each other through a flexible listener and dispatch system.

It’s easy to add variables to the inspector, you just need to add them to your component schema. You can even apply different headers above the variable to change its behavior in the inspector like it’s Label or Group elements together.

> **[Custom editor fields | 8th Wall](https://www.8thwall.com/docs/studio/guides/components/custom-editor-fields/)**
>
> Display and functionality of your components in the entity editor can be customized in various ways: labels can be changed, conditions set for display and other things. This is all done using comments inside the schema where fields are marked // @.

There’s two approaches to changing the visibility of an object. You can either apply the `Disabled` component to an entity or you can hide its object3D by getting its object3D using three.js and setting visible to false.

> **[world.three | 8th Wall](https://www.8thwall.com/docs/studio/api/world/three/)**
>
> Three.js is a popular JavaScript library and API that's used to make and display animated 3D graphics in a web browser. You can directly leverage additional functionality provided by three.js via world.three.

[https://threejs.org/docs/#api/en/core/Object3D.visible](https://threejs.org/docs/#api/en/core/Object3D.visible)

We’re currently working on an example project and guide for UI. In the meantime I would start by creating a parent UI element, and adding children elements to it in the heirarchy while keeping in mind that our layout engine is based on CCS flexbox.

> **[Basic concepts of flexbox - CSS: Cascading Style Sheets | MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flexible_box_layout/Basic_concepts_of_flexbox)**
>
> The flexible box layout module (usually referred to as flexbox) is a one-dimensional layout model for distributing space between items and includes numerous alignment capabilities. This article gives an outline of the main features of flexbox, which...

---

<div class="post-metadata">

**Author:** ![Mitch\_Duncan](https://avatars.discourse-cdn.com/v4/letter/m/8491ac/32.png) [@Mitch\_Duncan](https://forum.8thwall.com/u/Mitch_Duncan)\
**Post date:** [December 11, 2024, 12:05am UTC](https://forum.8thwall.com/t/some-hopefully-simple-questions/3694/3 "2024-12-11T00:05:16Z")

</div>

Forgot to say thanks for the above. Thank you!

I’m trying to implement a grid system. I’ll have a grid of squares (10x10) that I’ll want to be able to have the user fill with models that are sized either 3x3, 2x2, or 1x1 of that grid. I haven’t a clue where to start when setting something like this up, and was wondering if there was any potential examples or documentation I could look into that might help a bit (dealing with arrays or matrixs etc) or if you could help at all 🙂

Thanks again!
