# \[IGN-13768\] Perspective Custom Theming Not Working After 8.3 Migration

**URL:** <https://forum.inductiveautomation.com/t/ign-13768-perspective-custom-theming-not-working-after-8-3-migration/109114>\
**Category:** Ignition 8.3 Early Access\
**Tags:** perspective\
**Created:** [July 30, 2025, 1:14am UTC](https://forum.inductiveautomation.com/t/ign-13768-perspective-custom-theming-not-working-after-8-3-migration/109114 "2025-07-30T01:14:38Z")\
**Posts on this page:** 1\
**Showing post:** 19

<div class="post-metadata">

**Author:** ![ynejati](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ynejati/32/6093_2.png) [@ynejati](https://forum.inductiveautomation.com/u/ynejati)\
**Post date:** [September 10, 2025, 11:34pm UTC](https://forum.inductiveautomation.com/t/ign-13768-perspective-custom-theming-not-working-after-8-3-migration/109114/19 "2025-09-10T23:34:22Z")

</div>

Hey Daniel. That’s to be expected, as the changes I described in my post above haven’t been released yet. They’ll be available in the 8.3.0 final release. We missed the deadline for the RC by a few days.

You can check to see if the file exists by viewing the config:  
`{{gateway_address}}/data/api/v1/resources/find/com.inductiveautomation.perspective/themes/:name`

For reference, the contents of light-cool/index.css:

```python
@import "./variables.css";
@import "../light/fonts.css";
@import "../light/globals.css";
@import "../light/app/index.css";
@import "../light/common/index.css";
@import "../light/designer/index.css";
@import "../light/palette/index.css";

```

Hope this helps.

* * *

### Update

In 8.3.0, we’ve added the ability to override our `light` and `dark` themes, just like in 8.1. In order to do so, you must create a new theming resource called `overrides-[light/dark]`. Make sure that the theme config `isPrivate: true` in order to hide the theme from themes list. Example POST payload:

```python
[
  {
    "name": "overrides-light",
    "collection": "core",
    "enabled": true,
    "description": "Overrides light theme.",
    "config": {
      "entrypoint": "index.css",
      "isPrivate": true
    }
  }
]

```

If we detect an override resource, we simply redirect the entry point of the Perspective base theme to the entry point specified in the overriding theme resource config. The contents of the overriding entry point (typically `index.css) can be as simple as:

```python
@import "../light/index.css";

:root {
  --customVariable: "whatever";
}

```

Or, as complicated as:

```python
@import "./variables.css";
@import "../light/fonts.css";
@import "./globals.css";
@import "../light/app/index.css";
@import "../light/common/index.css";
@import "../light/designer/index.css";
@import "../light/palette/index.css";

```

Either way, it's up to you to make sure the base theme imports are included in your overriding theme.

Thanks again for bringing it up, @nader.chinichian. Hope this helps.

---

_[View the full topic](https://forum.inductiveautomation.com/t/ign-13768-perspective-custom-theming-not-working-after-8-3-migration/109114)._
